环境配置
本章将指导你在不同操作系统上安装和配置 Jenkins。
系统要求
最低配置
- 内存:至少 256MB RAM(推荐 1GB+)
- 磁盘空间:至少 1GB 可用空间
- Java:Java 8 或 Java 11(推荐)
推荐配置
- 内存:4GB+ RAM
- 磁盘空间:50GB+ SSD
- CPU:2+ 核心
- Java:Java 11 LTS 或 Java 17 LTS
Java 环境安装
Jenkins 需要 Java 运行时环境,推荐使用 OpenJDK。
Ubuntu/Debian
# 更新包索引
sudo apt update
# 安装 OpenJDK 11
sudo apt install -y openjdk-11-jdk
# 验证安装
java -version
CentOS/RHEL
# 安装 OpenJDK 11
sudo yum install -y java-11-openjdk-devel
# 验证安装
java -version
macOS
# 使用 Homebrew 安装
brew install openjdk@11
# 创建符号链接
sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
# 验证安装
java -version
Windows
- 下载 OpenJDK 11:Adoptium 下载页面
- 运行安装程序
- 设置环境变量:
# 设置 JAVA_HOME
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-11", "Machine")
# 添加到 Path
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";%JAVA_HOME%\bin", "Machine")
Jenkins 安装
方式一:使用包管理器安装(推荐)
Ubuntu/Debian
# 添加 Jenkins 仓库密钥
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
# 添加 Jenkins 仓库
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
# 更新包索引
sudo apt update
# 安装 Jenkins
sudo apt install -y jenkins
# 启动 Jenkins 服务
sudo systemctl start jenkins
# 设置开机自启
sudo systemctl enable jenkins
CentOS/RHEL
# 添加 Jenkins 仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 导入密钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
# 安装 Jenkins
sudo yum install -y jenkins
# 启动 Jenkins 服务
sudo systemctl start jenkins
# 设置开机自启
sudo systemctl enable jenkins
方式二:使用 Docker 安装
# 拉取 Jenkins 镜像
docker pull jenkins/jenkins:lts
# 创建 Jenkins 数据卷
docker volume create jenkins_home
# 运行 Jenkins 容器
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
# 查看初始密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
方式三:使用 WAR 文件安装
# 下载 Jenkins WAR 文件
wget https://get.jenkins.io/war-stable/latest/jenkins.war
# 运行 Jenkins
java -jar jenkins.war --httpPort=8080
初始配置
1. 解锁 Jenkins
首次访问 Jenkins 时,需要输入初始管理员密码:
# 查看初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
在浏览器中访问 http://localhost:8080,粘贴密码并继续。
2. 安装插件
Jenkins 提供两种插件安装选项:
- 安装建议的插件:适合新手,安装常用插件集合
- 选择插件来安装:自定义安装需要的插件
推荐初学者选择"安装建议的插件"。
3. 创建管理员用户
填写管理员用户信息:
- 用户名
- 密码
- 全名
- 电子邮件地址
4. 配置 Jenkins URL
设置 Jenkins 访问地址,可以使用默认配置或自定义域名。
防火墙配置
Ubuntu/Debian (UFW)
# 允许 Jenkins 端口
sudo ufw allow 8080/tcp
# 如果需要 Agent 连接
sudo ufw allow 50000/tcp
# 重新加载防火墙
sudo ufw reload
CentOS/RHEL (Firewalld)
# 允许 Jenkins 端口
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=50000/tcp
# 重新加载防火墙
sudo firewall-cmd --reload
Jenkins 配置目录
了解 Jenkins 的重要配置文件位置:
| 操作系统 | 配置路径 |
|---|---|
| Ubuntu/Debian | /var/lib/jenkins/ |
| CentOS/RHEL | /var/lib/jenkins/ |
| macOS | ~/.jenkins/ |
| Windows | %ProgramFiles%\Jenkins\ |
| Docker | /var/jenkins_home/ |
重要文件说明
JENKINS_HOME/
├── config.xml # 主配置文件
├── secrets/ # 敏感信息目录
│ └── initialAdminPassword # 初始管理员密码
├── plugins/ # 插件目录
├── jobs/ # 任务配置目录
├── users/ # 用户配置目录
├── nodes/ # 节点配置目录
└── workspace/ # 工作空间目录
常用管理命令
服务管理
# 启动 Jenkins
sudo systemctl start jenkins
# 停止 Jenkins
sudo systemctl stop jenkins
# 重启 Jenkins
sudo systemctl restart jenkins
# 查看状态
sudo systemctl status jenkins
# 查看日志
sudo journalctl -u jenkins -f
Docker 管理
# 查看容器日志
docker logs -f jenkins
# 进入容器
docker exec -it jenkins bash
# 停止容器
docker stop jenkins
# 启动容器
docker start jenkins
# 删除容器
docker rm -f jenkins
升级 Jenkins
包管理器升级
# Ubuntu/Debian
sudo apt update
sudo apt upgrade jenkins
# CentOS/RHEL
sudo yum update jenkins
Docker 升级
# 拉取最新镜像
docker pull jenkins/jenkins:lts
# 停止并删除旧容器
docker stop jenkins
docker rm jenkins
# 运行新容器(数据卷会自动保留)
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
备份与恢复
备份 Jenkins
# 停止 Jenkins
sudo systemctl stop jenkins
# 创建备份
sudo tar -czvf jenkins_backup_$(date +%Y%m%d).tar.gz /var/lib/jenkins/
# 启动 Jenkins
sudo systemctl start jenkins
恢复 Jenkins
# 停止 Jenkins
sudo systemctl stop jenkins
# 恢复备份
sudo tar -xzvf jenkins_backup_20240101.tar.gz -C /
# 确保权限正确
sudo chown -R jenkins:jenkins /var/lib/jenkins
# 启动 Jenkins
sudo systemctl start jenkins
常见问题
1. 端口冲突
如果 8080 端口被占用,可以修改端口:
# 编辑配置文件
sudo nano /etc/default/jenkins # Ubuntu/Debian
sudo nano /etc/sysconfig/jenkins # CentOS/RHEL
# 修改 HTTP_PORT
HTTP_PORT=8081
# 重启 Jenkins
sudo systemctl restart jenkins
2. 内存不足
如果遇到内存问题,可以调整 JVM 参数:
# 编辑配置文件
sudo nano /etc/default/jenkins
# 修改 JAVA_OPTS
JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m -Xms512m"
# 重启 Jenkins
sudo systemctl restart jenkins
3. 权限问题
确保 Jenkins 用户有正确的权限:
# 添加 Jenkins 用户到 docker 组(如果使用 Docker)
sudo usermod -aG docker jenkins
# 添加 Jenkins 用户到 sudo 组(如果需要)
sudo usermod -aG sudo jenkins
下一步
完成环境配置后,你可以:
- 了解 Jenkins 基础概念
- 创建你的第一个 Jenkins Job
- 探索 Jenkins 插件生态系统
准备好开始你的 Jenkins 之旅了吗?