主题
Jenkins安装和配置
课程介绍
Jenkins是最流行的开源CI/CD工具之一,提供了强大的自动化构建、测试和部署功能。本课程将带你学习Jenkins的安装、配置、插件管理、任务创建等核心功能,帮助你快速搭建CI/CD平台。
1. Jenkins概述
1.1 什么是Jenkins
Jenkins是一个开源的自动化服务器,用于自动化构建、测试和部署。
Jenkins的特点:
- 开源免费:完全开源,免费使用
- 插件丰富:有1000+插件
- 易于扩展:易于扩展和定制
- 社区活跃:社区活跃,文档丰富
- 跨平台:支持Windows、Linux、macOS
1.2 Jenkins的架构
Jenkins采用主从架构。
Jenkins架构:
Jenkins Master(主节点)
↓
Jenkins Slave(从节点)
↓
构建任务
↓
构建结果Jenkins Master:
- 调度构建任务
- 管理构建环境
- 存储构建历史
- 管理插件和配置
Jenkins Slave:
- 执行构建任务
- 提供构建环境
- 返回构建结果
2. Jenkins安装
2.1 系统要求
Jenkins对系统有一定要求。
| 要求 | 说明 |
|---|---|
| 操作系统 | Linux、Windows、macOS |
| Java | JDK 8或JDK 11 |
| 内存 | 至少2GB |
| 磁盘 | 至少10GB |
| 浏览器 | Chrome、Firefox、Edge |
2.2 在Ubuntu上安装Jenkins
在Ubuntu上安装Jenkins的步骤。
步骤1:安装Java
bash
# 更新软件包
sudo apt update
# 安装Java
sudo apt install openjdk-11-jdk -y
# 验证Java安装
java -version步骤2:添加Jenkins仓库
bash
# 添加Jenkins仓库密钥
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
# 添加Jenkins仓库
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 更新软件包
sudo apt update步骤3:安装Jenkins
bash
# 安装Jenkins
sudo apt install jenkins -y
# 启动Jenkins
sudo systemctl start jenkins
# 设置Jenkins开机自启
sudo systemctl enable jenkins
# 查看Jenkins状态
sudo systemctl status jenkins步骤4:访问Jenkins
打开浏览器,访问:http://localhost:80802.3 在CentOS上安装Jenkins
在CentOS上安装Jenkins的步骤。
步骤1:安装Java
bash
# 更新软件包
sudo yum update -y
# 安装Java
sudo yum install java-11-openjdk -y
# 验证Java安装
java -version步骤2:添加Jenkins仓库
bash
# 添加Jenkins仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 导入Jenkins仓库密钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key步骤3:安装Jenkins
bash
# 安装Jenkins
sudo yum install jenkins -y
# 启动Jenkins
sudo systemctl start jenkins
# 设置Jenkins开机自启
sudo systemctl enable jenkins
# 查看Jenkins状态
sudo systemctl status jenkins步骤4:访问Jenkins
打开浏览器,访问:http://localhost:80802.4 使用Docker安装Jenkins
使用Docker安装Jenkins的步骤。
步骤1:拉取Jenkins镜像
bash
# 拉取Jenkins镜像
docker pull jenkins/jenkins:lts步骤2:运行Jenkins容器
bash
# 运行Jenkins容器
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts步骤3:查看Jenkins日志
bash
# 查看Jenkins日志
docker logs jenkins步骤4:访问Jenkins
打开浏览器,访问:http://localhost:80803. Jenkins配置
3.1 初始化配置
首次访问Jenkins需要进行初始化配置。
步骤1:获取管理员密码
bash
# 查看管理员密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword步骤2:安装插件
- 选择"安装推荐的插件"
- 等待插件安装完成
步骤3:创建管理员账户
- 输入用户名
- 输入密码
- 输入全名
- 输入邮箱地址
步骤4:配置Jenkins URL
- 输入Jenkins URL
- 点击"保存并完成"
3.2 系统配置
配置Jenkins系统设置。
步骤1:进入系统配置
- 点击"Manage Jenkins"
- 点击"Configure System"
步骤2:配置系统设置
- 配置Jenkins URL
- 配置系统管理员邮箱
- 配置执行器数量
- 配置构建工具
步骤3:保存配置
- 点击"保存"
3.3 全局工具配置
配置Jenkins全局工具。
步骤1:进入全局工具配置
- 点击"Manage Jenkins"
- 点击"Global Tool Configuration"
步骤2:配置JDK
- 点击"JDK安装"
- 输入JDK名称
- 输入JAVA_HOME路径
- 点击"保存"
步骤3:配置Maven
- 点击"Maven安装"
- 输入Maven名称
- 选择Maven版本
- 点击"保存"
步骤4:配置Git
- 点击"Git安装"
- 输入Git名称
- 输入Git路径
- 点击"保存"
4. Jenkins插件管理
4.1 插件概述
Jenkins插件扩展了Jenkins的功能。
常用插件:
| 插件 | 说明 |
|---|---|
| Git Plugin | Git版本控制 |
| Maven Plugin | Maven构建工具 |
| Docker Plugin | Docker容器管理 |
| Pipeline Plugin | 流水线功能 |
| Blue Ocean | 现代化UI |
| Email Extension | 邮件通知 |
4.2 安装插件
安装Jenkins插件的步骤。
步骤1:进入插件管理
- 点击"Manage Jenkins"
- 点击"Manage Plugins"
步骤2:搜索插件
- 输入插件名称
- 点击"搜索"
步骤3:安装插件
- 勾选插件
- 点击"Install without restart"或"Download now and install after restart"
步骤4:重启Jenkins
- 等待插件安装完成
- 重启Jenkins
4.3 更新插件
更新Jenkins插件的步骤。
步骤1:进入插件管理
- 点击"Manage Jenkins"
- 点击"Manage Plugins"
步骤2:查看更新
- 点击"Updates"
- 查看可更新的插件
步骤3:更新插件
- 勾选需要更新的插件
- 点击"Download now and install after restart"
步骤4:重启Jenkins
- 等待插件更新完成
- 重启Jenkins
4.4 卸载插件
卸载Jenkins插件的步骤。
步骤1:进入插件管理
- 点击"Manage Jenkins"
- 点击"Manage Plugins"
步骤2:卸载插件
- 点击"Installed"
- 勾选需要卸载的插件
- 点击"Uninstall"
步骤3:重启Jenkins
- 等待插件卸载完成
- 重启Jenkins
5. Jenkins任务创建
5.1 创建Freestyle任务
创建Freestyle任务的步骤。
步骤1:创建任务
- 点击"New Item"
- 输入任务名称
- 选择"Freestyle project"
- 点击"OK"
步骤2:配置任务
- 配置源码管理
- 配置构建触发器
- 配置构建环境
- 配置构建步骤
- 配置构建后操作
步骤3:保存任务
- 点击"保存"
步骤4:运行任务
- 点击"Build Now"
5.2 创建Pipeline任务
创建Pipeline任务的步骤。
步骤1:创建任务
- 点击"New Item"
- 输入任务名称
- 选择"Pipeline"
- 点击"OK"
步骤2:配置任务
- 配置Pipeline定义
- 输入Pipeline脚本
- 点击"保存"
步骤3:运行任务
- 点击"Build Now"
Pipeline脚本示例:
groovy
pipeline {
agent any
stages {
stage('代码检查') {
steps {
sh 'npm run lint'
}
}
stage('构建') {
steps {
sh 'npm install'
sh 'npm run build'
}
}
stage('测试') {
steps {
sh 'npm test'
}
}
stage('部署') {
steps {
sh 'npm run deploy'
}
}
}
post {
success {
echo '构建成功'
}
failure {
echo '构建失败'
}
}
}6. Jenkins从节点配置
6.1 添加从节点
添加Jenkins从节点的步骤。
步骤1:进入节点管理
- 点击"Manage Jenkins"
- 点击"Manage Nodes and Clouds"
步骤2:创建节点
- 点击"New Node"
- 输入节点名称
- 选择"Permanent Agent"
- 点击"OK"
步骤3:配置节点
- 配置节点名称
- 配置节点描述
- 配置远程工作目录
- 配置标签
- 配置启动方式
- 配置节点属性
- 点击"保存"
步骤4:启动节点
- 点击"Launch agent"
- 等待节点启动
6.2 配置从节点
配置Jenkins从节点的步骤。
步骤1:安装Java
bash
# 安装Java
sudo apt install openjdk-11-jdk -y
# 验证Java安装
java -version步骤2:创建Jenkins用户
bash
# 创建Jenkins用户
sudo useradd -m -s /bin/bash jenkins
# 设置Jenkins用户密码
sudo passwd jenkins步骤3:配置SSH
bash
# 切换到Jenkins用户
su - jenkins
# 生成SSH密钥
ssh-keygen -t rsa -b 4096
# 复制公钥到主节点
ssh-copy-id jenkins@master7. Jenkins安全配置
7.1 启用安全
启用Jenkins安全的步骤。
步骤1:进入安全配置
- 点击"Manage Jenkins"
- 点击"Configure Global Security"
步骤2:配置安全
- 启用安全
- 配置认证方式
- 配置授权策略
- 点击"保存"
7.2 配置认证
配置Jenkins认证的步骤。
步骤1:进入安全配置
- 点击"Manage Jenkins"
- 点击"Configure Global Security"
步骤2:配置认证
- 选择"Jenkins' own user database"
- 点击"保存"
7.3 配置授权
配置Jenkins授权的步骤。
步骤1:进入安全配置
- 点击"Manage Jenkins"
- 点击"Configure Global Security"
步骤2:配置授权
- 选择"Logged-in users can do anything"
- 点击"保存"
8. Jenkins备份和恢复
8.1 备份Jenkins
备份Jenkins的步骤。
步骤1:停止Jenkins
bash
# 停止Jenkins
sudo systemctl stop jenkins步骤2:备份Jenkins
bash
# 备份Jenkins
sudo tar -czf jenkins_backup_$(date +%Y%m%d).tar.gz /var/lib/jenkins步骤3:启动Jenkins
bash
# 启动Jenkins
sudo systemctl start jenkins8.2 恢复Jenkins
恢复Jenkins的步骤。
步骤1:停止Jenkins
bash
# 停止Jenkins
sudo systemctl stop jenkins步骤2:恢复Jenkins
bash
# 恢复Jenkins
sudo tar -xzf jenkins_backup_20240101.tar.gz -C /步骤3:启动Jenkins
bash
# 启动Jenkins
sudo systemctl start jenkins课程总结
这节课我们学习了Jenkins安装和配置。
核心内容:
- Jenkins概述
- Jenkins安装
- Jenkins配置
- Jenkins插件管理
- Jenkins任务创建
- Jenkins从节点配置
- Jenkins安全配置
- Jenkins备份和恢复
重要命令:
sudo apt install jenkins:安装Jenkinssudo systemctl start jenkins:启动Jenkinssudo systemctl stop jenkins:停止Jenkinssudo systemctl status jenkins:查看Jenkins状态sudo cat /var/lib/jenkins/secrets/initialAdminPassword:查看管理员密码
Jenkins是最流行的CI/CD工具之一,掌握这些知识后,我们将在后续课程中学习自动化部署流程、Ansible自动化运维等内容。
课后练习
练习1(基础)
在Ubuntu上安装Jenkins,并完成初始化配置。
练习2(进阶)
创建一个Freestyle任务,实现代码构建和测试。
练习3(拓展)
创建一个Pipeline任务,实现代码构建、测试和部署。