深色模式
Jenkins 入门:建一个自由风格任务
摘要:Jenkins 是最老牌也最容易上手的 CI 工具。本文完成安装与初始配置,然后建一个 Freestyle 任务,串起拉代码、执行脚本、归档产物和定时触发的完整链路。
适用环境
- 一台 Linux 服务器(2C4G 起),已装 Java 17 或 21
- 服务器可访问外网下载插件
- 开放 8080 端口(或由 Nginx 反代)
操作步骤
1. 安装并启动
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
sudo dnf install -y java-17-openjdk jenkins
sudo systemctl enable --now jenkins
sudo cat /var/lib/jenkins/secrets/initialAdminPassword # 首次登录密码1
2
3
4
5
2
3
4
5
浏览器打开 http://<服务器IP>:8080,粘贴密码 → 选「安装推荐的插件」→ 创建管理员用户。
2. 装插件与配凭据
Manage Jenkins → Plugins → Available plugins 搜索安装 Git、Credentials Binding、Pipeline、Timestamper。凭据在 Manage Jenkins → Credentials → System → Global credentials 添加,ID 填 git-credential(后续按 ID 引用,不要用明文密码)。
3. 创建 Freestyle 任务
New Item→ 名称hello-ops→Freestyle project→ OK。- 源码管理:Git,填仓库 URL,Credentials 选
git-credential,分支*/main。 - 构建触发器:勾选
Poll SCM,日程填H/5 * * * *(每 5 分钟检查一次)。 - 构建步骤:
Execute shell:
bash
set -euo pipefail
echo "build #${BUILD_NUMBER} on $(hostname)"
bash scripts/build.sh1
2
3
2
3
- 构建后操作:勾选
Archive the artifacts,填dist/*.tar.gz。 - 保存 →
Build Now。
危险
Jenkins 默认以 jenkins 用户运行。给它配 sudo 时应写最小范围的规则,不要直接给 NOPASSWD: ALL。
验证
bash
ls /var/lib/jenkins/workspace/hello-ops # 工作区1
- [ ] 8080 页面能登录,初始插件安装完成
- [ ]
Build Now后 Console Output 以Finished: SUCCESS结束 - [ ] 构建产物能在任务页面下载
- [ ] 推一次提交,5 分钟内自动触发新构建
常见坑
插件装不上或很慢
默认更新站点在境外。在 Plugins → Advanced Settings 换国内镜像地址。
Poll SCM 日程写错
Jenkins 的 cron 是 5 字段(分 时 日 月 周),不是 Linux 的 6 字段。
工作区残留导致构建不干净
在构建步骤开头加 git clean -fdx,或勾选 Delete workspace before build starts。