Ubuntu Jenkins配置构建触发器指南
在Ubuntu系统上配置Jenkins构建触发器,需先确保Jenkins已正确安装并运行(可通过systemctl status jenkins验证服务状态)。以下是常用构建触发器的详细配置步骤及说明:
安装Jenkins
若未安装Jenkins,可通过以下命令完成安装(需提前安装Java 11+):
sudo apt update
sudo apt install openjdk-11-jdk
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
登录Jenkins
打开浏览器访问http://<Ubuntu服务器IP>:8080,输入默认管理员账号(admin)及初始密码(通过sudo cat /var/lib/jenkins/secrets/initialAdminPassword获取)登录。
适用场景:通过脚本、CI/CD工具或其他系统远程触发Jenkins构建。
配置步骤:
my-build-token)。<Jenkins_URL>、<Job_Name>和<TOKEN>):http://<Jenkins_URL>/job/<Job_Name>/build?token=<TOKEN>
例如:http://localhost:8080/job/my-job/build?token=my-build-token。curl或wget命令测试:curl -X POST "http://localhost:8080/job/my-job/build?token=my-build-token"
适用场景:当依赖的前置Job构建完成(成功/失败/稳定)后,自动触发当前Job。
配置步骤:
frontend-build),多个Job用逗号分隔。适用场景:按固定时间间隔自动触发构建(如每天凌晨2点、每15分钟一次)。
配置步骤:
H/15 * * * *:每15分钟触发一次(H表示随机分钟,避免多台机器同时构建);0 0 * * *:每天0点触发一次;0 9-17/2 * * 1-5:工作日(周一至周五)9点至17点之间,每2小时触发一次(如9:00、11:00、13:00等);0 0 1,15 * *:每月1号和15号0点触发一次。适用场景:定期检查代码仓库(Git/SVN)是否有变更,若有变更则触发构建(注意:频繁轮询会增加系统开销,建议优先使用Webhook)。
配置步骤:
H/5 * * * *表示每5分钟检查一次)。适用场景:当代码仓库发生推送(Push)、拉取请求(PR)等事件时,自动触发Jenkins构建(实时性强,无需频繁轮询)。
以GitHub为例的配置步骤:
步骤1:获取GitHub Token
登录GitHub,进入Settings → Developer settings → Personal access tokens,点击“Generate new token”,勾选repo(仓库权限)、admin:repo_hook(Webhook管理权限),生成Token并保存(如ghp_1234567890abcdef)。
步骤2:配置Jenkins GitHub插件
进入Jenkins“Manage Jenkins → Manage Plugins”,搜索并安装GitHub Plugin。
进入Jenkins“Manage Jenkins → Configure System”,找到“GitHub” section,点击“Add GitHub Server”,输入API URL(https://api.github.com),选择“Secret Text”类型,填写GitHub Token,点击“确定”。
步骤3:配置Job触发器
进入目标Job配置页面,找到“Build Triggers”部分。
勾选GitHub hook trigger for GITScm polling(启用Webhook触发)。
保存配置。
步骤4:配置GitHub Webhook
进入GitHub代码仓库,点击Settings → Webhooks → Add webhook,填写:
http://<Jenkins_URL>/github-webhook/(Jenkins GitHub插件提供的默认路径);application/json;至此,当仓库发生推送时,GitHub会向Jenkins发送POST请求,自动触发构建。
通过以上配置,可根据项目需求选择合适的构建触发器,实现Jenkins自动化构建。需注意:Webhook触发比轮询SCM更高效,建议优先使用;远程构建需做好权限控制,避免未授权访问。