零基础搭建Jenkins CI/CD持续集成部署教程
为什么你需要一套CI/CD流水线
在服务器运维中,每次代码更新都要手动登录服务器拉代码、重启服务,既容易出错又浪费时间。Jenkins CI/CD持续集成部署能自动帮你完成代码拉取、构建、测试和发布。
本教程将用最直白的方式,带你从零开始搭建一套可用的流水线。
准备工作:一台服务器与Java环境
Jenkins基于Java运行,所以第一步先确认你的服务器是否安装了Java。
java -version
如果返回类似 java version "1.8.0_xxx" 则已安装。
如果提示 命令未找到,用包管理器装一个(以Ubuntu/Debian为例):
sudo apt update
sudo apt install openjdk-11-jdk -y
CentOS/RHEL用户请改用 yum 或 dnf。
安装后再次运行 java -version 确认。
另外确保服务器能正常访问外网(用于下载插件),且防火墙放行8080端口(Jenkins默认端口)。
安装Jenkins并完成初始解锁
添加官方仓库并安装
不同系统安装方式略有不同,这里以Ubuntu为例。
先添加Jenkins密钥和源:
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
更新源并安装:
sudo apt update
sudo apt install jenkins -y
启动并解锁
安装完毕后,启动Jenkins服务:
sudo systemctl start jenkins
sudo systemctl enable jenkins
现在打开浏览器访问 http://你的服务器IP:8080,Jenkins会要求输入管理员初始密码。
这个密码在服务器上:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制密码粘贴过去,点击“继续”。
配置Jenkins并安装必备插件
解锁后进入插件安装界面。
选择“安装推荐的插件”即可,它会自动装好Git、Pipeline等常用插件。
等待几分钟,安装完成后创建一个管理员用户(记住用户名和密码),然后保存Jenkins URL(保持默认即可)。
如果你在安装插件时卡住或者失败,
可以稍后在“Manage Jenkins” → “Manage Plugins”里手动重试或更换国内镜像源(注意:
官方源较慢,
可配置清华源加速,
但本教程不展开)。
创建你的第一个CI/CD流水线
前提:准备好一个Git仓库
你需要一个存放代码的仓库,比如GitHub、GitLab或Gitee。
假设你已经有一个项目仓库,里面包含一个简单的 index.html 和 deploy.sh 部署脚本。
新建任务
- 在Jenkins首页点击“新建任务”。
- 输入任务名称,例如“my-first-pipeline”,选择“流水线”,点击确定。
- 在配置页面找到“流水线”区域,定义选择“Pipeline script from SCM”。
- SCM选择Git,填入仓库URL(例如
https://github.com/yourname/yourrepo.git)。 - 分支指定
*/main或你使用的分支。 - 脚本路径保持默认的
Jenkinsfile(如果你的仓库根目录下有这个文件)。
准备Jenkinsfile流水线脚本
在你的项目仓库根目录创建一个名为 Jenkinsfile 的文件,内容示例:
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build') {
steps {
echo '构建步骤...'
// 这里可以运行编译命令,比如 npm build
}
}
stage('Deploy') {
steps {
sh 'bash deploy.sh'
}
}
}
}
注意:deploy.sh 是你自己写的部署脚本,里面包含将文件复制到Web目录、重启服务等操作。
保存Jenkinsfile并推送到仓库。
然后在Jenkins任务页点击“立即构建”,Jenkins会自动拉取代码并执行流水线。
避坑指南与常见问题解答
Q1:构建时报 Permission denied?
Jenkins默认以jenkins用户运行,可能没有某些目录的写权限。
解决办法:把部署脚本的执行权限加上,或者将jenkins加入sudo组(不推荐),更安全的做法是设置目标目录权限为775并让jenkins属于相应用户组。
Q2:插件安装失败或下载慢?
更换插件源。
在Manage Jenkins → Manage Plugins → Advanced → Update Site中,将URL改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,然后提交并重试。
Q3:无法连接Git仓库?
检查服务器能否解析仓库域名。
如果仓库需要SSH密钥,在Jenkins节点的 ~/.ssh/ 下配置好私钥,并在任务中指定凭据。
验证CI/CD是否生效
点击你的流水线任务,查看“构建历史”。
成功构建会显示蓝色圆点(或绿色对勾)。
点进构建号,再点“控制台输出”,可以看到每一步的执行日志。
如果一切顺利,你会看到Finished: SUCCESS。
此时尝试修改代码并推送,Jenkins会自动触发新的构建,无需手动操作。
真正做到“代码提交即部署”。
这套Jenkins CI/CD持续集成部署教程帮你解决了自动化部署的核心问题。
初次搭建可能遇到权限或网络的小坑,但只要按照上述步骤一步步来,都能顺利跑通。
后续你可以添加测试阶段、邮件通知等功能,让流水线更完善。