工欲善其事,必先利其器。搭建 Jenkins 环境是 CI/CD 实践的第一步。本文详细介绍三种 Jenkins 安装方式(WAR 包、系统包、Docker),重点推荐 Docker 方式,并带你完成初始配置、插件安装,最后创建第一个 Pipeline 任务。跟着操作,30 分钟内拥有一个可用的 Jenkins 环境并跑通第一个流水线。
一、安装方式对比与选型
Jenkins 官方提供多种安装方式,各有适用场景:

💡 推荐选择:对于新手和大多数生产场景,Docker 安装方式是最优选择。它预装了所有依赖项,避免了环境冲突;通过数据卷持久化配置,升级时不会丢失数据。
二、Docker 方式安装 Jenkins(推荐)
2.1 准备 Docker 环境
确保系统已安装 Docker Engine,建议使用 20.10 以上版本:
bash
docker --version
如果未安装 Docker,可参考以下命令快速安装(Ubuntu 示例):
bash
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
⚠️ 常见问题:如果遇到权限错误,将当前用户加入 docker 组:sudo usermod -aG docker $USER,然后重新登录。
2.2 启动 Jenkins 容器
运行以下命令启动 Jenkins 容器:
bash
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
参数说明:
-d:后台运行容器
-p 8080:8080:映射 Jenkins Web 端口
-p 50000:50000:映射 Jenkins Agent 通信端口
-v jenkins_home:/var/jenkins_home:关键,使用 Docker 卷持久化 Jenkins 数据
-v /var/run/docker.sock:/var/run/docker.sock:让 Jenkins 容器内的 Docker 命令可以调用宿主机的 Docker 守护进程
⚠️ 注意:如果容器时间与宿主机不同步,可添加 -v /etc/localtime:/etc/localtime:ro 挂载。
2.3 获取初始密码
首次启动后,Jenkins 会生成一个初始管理员密码。通过以下命令查看:
bash
docker logs jenkins
在输出中查找类似以下内容的一行:
text
Please use the following password to proceed to installation:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
复制该密码,准备进行初始化配置。
三、Jenkins 初始化配置
3.1 访问 Jenkins 并解锁
打开浏览器,访问 http://<你的服务器IP>:8080
输入上一步获取的初始密码
点击"继续"
⚠️ 注意:如果服务器有防火墙,需开放 8080 端口。
3.2 安装插件
Jenkins 提供两种插件安装方式:
安装推荐的插件:自动安装最常用的插件集合(推荐新手选择)
选择插件来安装:手动挑选需要的插件
推荐插件列表默认包含 Git、Pipeline、Docker 等核心插件。
⚠️ 常见坑点:如果网络环境特殊,插件安装可能超时。解决方案是配置国内镜像源,或在容器内手动下载插件包。
3.3 创建管理员账户
插件安装完成后,按提示创建第一个管理员用户:
用户名:admin(或自定义)
密码:设置一个强密码
邮箱:填写你的邮箱地址
3.4 配置 Jenkins 实例地址
输入 Jenkins 的访问 URL(默认 http://<服务器IP>:8080),点击"保存并完成"。
⚠️ 重要提醒:首次安装后,建议立即配置 Jenkins 的 JVM 参数,否则默认内存分配只有 256MB,跑几个任务就容易 OOM。
Docker 方式调整 JVM 参数(启动容器时指定):
bash
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-e JAVA_OPTS="-Xmx2048m -Xms512m" \
jenkins/jenkins:lts
四、第一个 Pipeline 任务
4.1 在 Jenkins UI 中创建 Pipeline 任务
点击 Jenkins 首页的 "新建任务" (New Item)
输入任务名称,如 my-first-pipeline
选择 "流水线" (Pipeline)类型
点击"确定"
4.2 编写 Pipeline 脚本
在任务配置页面的 "流水线" 部分,选择 "Pipeline script",粘贴以下代码:
groovy
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
echo '开始拉取代码...'
// 实际项目中在此处添加 git checkout 命令
}
}
stage('编译') {
steps {
echo '开始编译...'
sh 'echo "编译完成"'
}
}
stage('测试') {
steps {
echo '运行单元测试...'
sh 'echo "测试通过"'
}
}
stage('部署') {
steps {
echo '部署到测试环境...'
sh 'echo "部署完成"'
}
}
}
}
4.3 保存并运行
点击 "保存"
在任务页面点击 "立即构建" (Build Now)
等待构建完成,点击构建编号查看 "控制台输出" (Console Output)
如果看到类似以下输出,说明你的第一个 Pipeline 运行成功:
text
Pipeline stage (拉取代码)
Pipeline echo
开始拉取代码...
Pipeline stage (编译)
Pipeline echo
开始编译...
Pipeline echo
编译完成
...
Finished: SUCCESS
五、系统包安装方式(备选)
如果无法使用 Docker,也可以通过系统包安装 Jenkins:
Ubuntu/Debian:
bash
# 安装 Java
sudo apt install -y openjdk-11-jdk
# 添加 Jenkins 仓库
sudo wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 安装 Jenkins
sudo apt update
sudo apt install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
CentOS/RHEL:
bash
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
安装完成后,访问 http://<服务器IP>:8080,后续配置步骤与 Docker 方式相同。
六、小结
安装方式:Docker 方式最推荐,数据卷持久化配置,升级方便
初始化配置:获取初始密码 → 安装插件 → 创建管理员账户
第一个 Pipeline:创建 Pipeline 任务 → 编写声明式脚本 → 运行并查看控制台输出