Jenkins 是一个开源的自动化部署工具,广泛用于持续集成(CI)和持续交付(CD)流程。它支持自动化构建、测试和部署应用程序。以下是 Jenkins 的安装与配置的详细教程。
1. 安装 Jenkins
以下步骤适用于 Linux 系统(以 Ubuntu 和 CentOS 为例),并包含安装必要的依赖环境。
1.1 安装 Jenkins 的前置条件
(1) 安装 Java
Jenkins 需要 Java 环境,推荐使用 Java 11 或更高版本。
Ubuntu/Debian 系统:
sudo apt update
sudo apt install openjdk-11-jdk -y
java -version
CentOS/RHEL 系统:
sudo yum update
sudo yum install java-11-openjdk -y
java -version
确保 Java 安装成功,执行 java -version
确认版本。
1.2 添加 Jenkins 仓库并安装
(1) 在 Ubuntu/Debian 系统上安装 Jenkins
-
添加 Jenkins 官方仓库:
bashcurl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null 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
-
更新包列表并安装 Jenkins:
bashsudo apt update sudo apt install jenkins -y
(2) 在 CentOS/RHEL 系统上安装 Jenkins
-
添加 Jenkins 官方仓库:
bashsudo yum install -y wget wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
-
安装 Jenkins 和依赖:
bashsudo yum install jenkins -y
1.3 启动 Jenkins 服务
启动 Jenkins 并设置开机自启:
Ubuntu/Debian 系统:
sudo systemctl start jenkins
sudo systemctl enable jenkins
CentOS/RHEL 系统:
sudo systemctl start jenkins
sudo systemctl enable jenkins
检查 Jenkins 的运行状态:
sudo systemctl status jenkins
1.4 配置防火墙(可选)
如果服务器启用了防火墙,需要开放 Jenkins 默认端口 8080。
Ubuntu/Debian 系统:
sudo ufw allow 8080
sudo ufw reload
CentOS/RHEL 系统:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
2. 初始配置 Jenkins
2.1 访问 Jenkins
-
打开浏览器,访问 Jenkins:
http://<服务器IP>:8080
如果是在本地安装,则访问:
http://localhost:8080
-
进入 Jenkins 解锁页面,系统会提示输入初始管理员密码。
2.2 获取初始管理员密码
-
在终端中查看初始密码:
bashsudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
将输出的密码复制到浏览器页面,点击 Continue。
2.3 安装推荐插件
- 在插件安装页面,选择 Install suggested plugins(安装推荐插件)。
- 等待插件安装完成(可能需要几分钟)。
2.4 创建管理员账户
- 输入管理员用户名、密码和邮箱地址。
- 点击 Save and Continue 保存。
2.5 配置实例 URL
- 设置 Jenkins 的访问 URL(如
http://<服务器IP>:8080
)。 - 点击 Save and Finish 完成配置。
3. 配置 Jenkins
3.1 配置全局工具
Jenkins 支持集成多种开发工具(如 Git、Maven、Gradle 等),需要初始化配置。
-
进入全局工具配置页面:
- 在 Jenkins 主页面,点击 Manage Jenkins > Global Tool Configuration。
-
常见工具配置:
- Git:
- 点击 Git > Add Git。
- 指定 Git 可执行文件路径(如
/usr/bin/git
)。
- Maven(可选):
- 如果需要构建 Java 项目,点击 Maven > Add Maven。
- 填写 Maven 名称(如
Maven3
),并选择自动安装。
- JDK:
- Jenkins 会自动检测 Java 环境。
- Git:
3.2 配置凭据
Jenkins 使用凭据来安全地存储访问代码仓库(如 GitHub、GitLab)的认证信息。
-
添加凭据:
- 在 Jenkins 主页面,点击 Manage Jenkins > Manage Credentials。
- 点击 (global) > Add Credentials。
- 选择凭据类型:
- 用户名和密码:用于私有仓库的访问。
- SSH 密钥:用于通过 SSH 访问 Git 仓库。
- 保存信息。
-
使用凭据:
- 在创建 Jenkins 项目时,选择刚添加的凭据。
3.3 配置邮件通知
- 在 Jenkins 主页面,点击 Manage Jenkins > Configure System。
- 找到 E-mail Notification 设置:
- 输入 SMTP 服务器地址(如
smtp.gmail.com
)。 - 配置发送邮箱和认证信息。
- 输入 SMTP 服务器地址(如
- 测试邮件通知功能。
4. 创建 Jenkins 项目
4.1 创建自由风格项目
-
点击 New Item 创建新项目。
-
输入项目名称,选择 Freestyle project,点击 OK。
-
配置项目:
- 源码管理:
- 选择 Git,填写代码仓库地址。
- 添加凭据(如果是私有仓库)。
- 构建触发器:
- 配置触发条件(如定时触发、代码变更触发)。
- 构建步骤:
- 添加构建步骤(如执行 Shell 脚本、调用 Maven 构建)。
- 构建后操作:
- 配置构建结果通知或发布操作。
- 源码管理:
-
保存配置,点击 Build Now 开始构建。
4.2 配置流水线项目(Pipeline)
- 点击 New Item,选择 Pipeline。
- 在 Pipeline 配置中,使用脚本定义流水线:
groovy
pipeline {agent anystages {stage('Build') {steps {echo 'Building...'}}stage('Test') {steps {echo 'Testing...'}}stage('Deploy') {steps {echo 'Deploying...'}}} }
- 保存后运行流水线。
5. 常见问题与解决方法
5.1 无法访问 Jenkins
- 检查 Jenkins 服务状态:
bash
sudo systemctl status jenkins
- 确保防火墙开放了端口 8080。
5.2 插件安装失败
- 检查网络连接是否正常。
- 手动更新插件源:
- 在 Manage Jenkins > Plugin Manager 中,切换到其他插件镜像(如
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/
)。
- 在 Manage Jenkins > Plugin Manager 中,切换到其他插件镜像(如
5.3 构建失败
- 检查 Jenkins 是否安装了所需工具(如 Maven、Git)。
- 查看控制台输出日志,定位错误原因。
6. 总结
通过以上步骤,您可以成功安装和配置 Jenkins,并创建自动化构建和部署任务。以下是关键点总结:
- 安装 Jenkins 和配置 Java 环境。
- 初始化 Jenkins:安装推荐插件、创建管理员账户、配置全局工具。
- 创建项目:支持自由风格项目和流水线项目。
- 集成工具:如 Git、Maven 和邮件通知。
Jenkins 的强大功能可以大幅提高软件开发和部署的效率,适用于个人开发者和企业级项目。