Jenkins pipeline 任务自动化构建方案
背景
当前开发环境项目发布需提交代码后手动执行构建操作,任务较多找任务较耗时,为提升持续集成效率,现将开发环境构建任务升级为自动触发构建任务
方案
Jenkins系统安装插件 Generic Webhook Trigger
操作一
服务端项目流水线中添加 trigger 触发器,实现提交代码自动触发 Jenkins 构建
triggers {
GenericTrigger(
causeString: 'Triggered by $username',
genericVariables: [
[key: 'branchName', value: '$.ref'],
[key: 'username', value: '$.user_username']
],
printContributedVariables: true,
printPostContent: true,
regexpFilterExpression: '^(refs/heads/.*dev.*)$',
regexpFilterText: '$branchName',
token: 'pipeline_mongo_server_push'
)
}
关键参数:
regexpFilterExpression:过滤规则(包含此分支的代码提交可自动触发构建)
regexpFilterText:过滤分支,分支需与git参数名一致
token:设置专属token,token需与操作二进行关联
操作二
gitlab 代码仓库中 添加 webhook 钩子,选择push 事件
https://jenkins.xxx.xxxx/generic-webhook-trigger/invoke?token=pipeline_mongo_server_push
操作三
初始化 操作完第一步后需执行一下构建任务,完成新配置的初始化过程
若不执行初始化步骤,gitlab webhook 钩子会出现404的错误信息
执行了 初始化操作后 gitlab webhook 钩子状态为200,即完成配置