跳到主要内容

环境配置

本章将指导你在不同操作系统上安装和配置 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

  1. 下载 OpenJDK 11:Adoptium 下载页面
  2. 运行安装程序
  3. 设置环境变量:
    # 设置 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

下一步

完成环境配置后,你可以:

  1. 了解 Jenkins 基础概念
  2. 创建你的第一个 Jenkins Job
  3. 探索 Jenkins 插件生态系统

准备好开始你的 Jenkins 之旅了吗?