0 成本搭建企业级 CI/CD 平台!Jenkins 本地化部署与使用全指南(附 Pipeline 配置避坑技巧)

一、Jenkins 本地化部署简介
Jenkins 是一款开源的企业级 CI/CD(持续集成 / 持续部署)平台,核心功能包括:
-
自动化 CI/CD 流程:实现代码从提交到部署的全流程自动化,提升开发效率
-
插件生态丰富:支持数千款插件,覆盖代码构建、测试、部署、监控等全场景
-
多环境适配:支持 Windows、Linux、macOS 等多种系统,适配各类开发环境
-
权限管理:细粒度的用户权限控制,保障 CI/CD 流程安全
-
分布式构建:支持多节点分布式构建,提升大型项目的构建速度
本地化部署的核心价值:
-
数据安全:CI/CD 流程数据存储在企业内部服务器,避免数据泄露风险
-
自定义配置:根据企业需求定制 CI/CD 流程,适配内网开发环境
-
内网访问:支持团队在内网环境下使用,无需依赖外网
-
成本控制:完全开源免费,避免使用商业 CI/CD 平台的高额费用
二、环境准备
1. 服务器要求
-
最低配置:2 核 4G 内存,100G 硬盘(适合小型团队,10-20 人使用)
-
推荐配置:4 核 8G 内存,500G 硬盘(适合中型团队,50 人以上使用)
-
操作系统:Ubuntu 20.04+/CentOS 8+/RHEL 8+
-
网络要求:可以访问外网(用于拉取安装包和插件)
2. 依赖环境准备
- 安装 JDK(Jenkins 需要 Java 环境支持):
bash
# Ubuntu/Debian
sudo apt update && sudo apt install -y openjdk-11-jdk
# CentOS/RHEL
sudo yum install -y java-11-openjdk-devel
- 验证 JDK 安装:
bash
java -version
三、Jenkins 部署步骤
1. 包安装(推荐,适合稳定部署)
Ubuntu/Debian 系统
- 安装 Jenkins 仓库配置:
bash
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.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:
bash
sudo apt update && sudo apt install -y jenkins
- 启动 Jenkins 服务:
bash
sudo systemctl start jenkins
sudo systemctl enable jenkins
CentOS/RHEL 系统
- 安装 Jenkins 仓库配置:
bash
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:
bash
sudo yum install -y jenkins
- 启动 Jenkins 服务:
bash
sudo systemctl start jenkins
sudo systemctl enable jenkins
2. Docker 部署(适合容器化场景)
- 安装 Docker:
bash
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker
systemctl enable docker
- 拉取 Jenkins 镜像:
bash
docker pull jenkins/jenkins:lts
- 启动 Jenkins 容器:
bash
docker run -d \
--name jenkins \
--publish 8080:8080 --publish 50000:50000 \
--restart always \
--volume /srv/jenkins/home:/var/jenkins_home \
jenkins/jenkins:lts
3. 验证部署
等待 5-10 分钟,访问服务器 IP+8080 端口(如http://192.168.1.100:8080),如果能看到 Jenkins 的解锁界面,说明部署成功。
四、Jenkins 初始配置
1. 管理员账号设置
- 解锁 Jenkins:根据页面提示,找到初始管理员密码,路径为:
bash
# 包安装的Jenkins
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Docker部署的Jenkins
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
-
输入初始密码,点击【继续】
-
选择【安装推荐的插件】,等待插件安装完成
-
创建管理员账号,填写用户名、密码、邮箱等信息
2. 插件安装(推荐核心插件)
-
进入【系统管理】→【插件管理】
-
搜索并安装以下核心插件:
-
Pipeline:用于创建 CI/CD 流水线
-
Git:支持 Git 代码仓库
-
Maven Integration:支持 Maven 项目构建
-
Docker Pipeline:支持 Docker 容器化部署
-
Role-based Authorization Strategy:支持细粒度权限控制
-
3. 全局工具配置
-
进入【系统管理】→【全局工具配置】
-
配置 JDK:
- 点击【新增 JDK】,取消勾选【自动安装】,填写 JDK 安装路径(如
/usr/lib/jvm/java-11-openjdk-amd64)
- 点击【新增 JDK】,取消勾选【自动安装】,填写 JDK 安装路径(如
-
配置 Git:
- 点击【新增 Git】,填写 Git 安装路径(如
/usr/bin/git)
- 点击【新增 Git】,填写 Git 安装路径(如
-
配置 Maven:
- 点击【新增 Maven】,取消勾选【自动安装】,填写 Maven 安装路径(如
/opt/maven)
- 点击【新增 Maven】,取消勾选【自动安装】,填写 Maven 安装路径(如
五、Jenkins 核心使用场景
1. 创建第一个 Pipeline 任务
-
点击【新建任务】,填写任务名称,选择【Pipeline】,点击【确定】
-
在【Pipeline】配置中,选择【Pipeline script】,输入以下示例脚本:
groovy
pipeline {
agent any
stages {
stage('拉取代码') {
steps {
git url: 'https://github.com/your-username/your-project.git', branch: 'main'
}
}
stage('代码构建') {
steps {
sh 'mvn clean package'
}
}
stage('部署应用') {
steps {
sh 'java -jar target/your-project.jar &'
}
}
}
}
- 点击【保存】,然后点击【立即构建】,查看构建日志
2. 构建自动化 CI/CD 流程
-
进入任务配置,在【构建触发器】中选择【GitHub hook trigger for GITScm polling】
-
在 GitHub 项目的【Settings】→【Webhooks】中添加 Jenkins 的 Webhook 地址(如
http://your-jenkins-url/github-webhook/) -
这样当代码提交到 GitHub 时,Jenkins 会自动触发构建
3. 任务权限管理
-
进入【系统管理】→【全局安全配置】,选择【Role-Based Strategy】
-
进入【系统管理】→【Manage and Assign Roles】
-
创建角色并分配权限:
-
点击【Manage Roles】,创建【Developer】角色,分配【Job】的读取、构建权限
-
点击【Assign Roles】,将用户分配到对应的角色
-
六、常见问题与解决方案
1. 部署后无法访问
-
解决方案:
-
检查服务器防火墙是否开放 8080 端口
-
检查 Jenkins 服务是否正常运行:
sudo systemctl status jenkins -
检查 Jenkins 日志:
sudo journalctl -u jenkins
-
2. 插件安装失败
-
解决方案:
-
更换插件源为国内镜像:进入【系统管理】→【插件管理】→【高级】,修改【升级站点】为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json -
手动下载插件,然后上传安装
-
3. Pipeline 执行失败
-
解决方案:
-
查看 Pipeline 日志,检查错误信息
-
确认 Pipeline 脚本语法是否正确
-
检查工具配置是否正确(如 JDK、Git、Maven 路径)
-
4. 内存不足问题
-
解决方案:
-
增加服务器内存
-
修改 Jenkins 内存配置:编辑
/etc/default/jenkins,修改JAVA_ARGS为-Xmx2g -Xms1g -
重启 Jenkins 服务:
sudo systemctl restart jenkins
-
七、结尾互动
如果本文对你有帮助,欢迎点赞、收藏、关注!有任何问题欢迎在评论区交流,我会第一时间回复。如果需要 Jenkins 的进阶使用教程或者其他 DevOps 工具的部署指南,也可以在评论区留言告诉我~