项目环境
宝塔Linux面板+Docker+Jenkins+gitee
目的
实现每次push推送dev分支到gitee上,Jenkins自动构建项目;push其它分支时,不运行。
实现方法
1.在Jenkins上安装Generic Webhook Trigger插件
在“系统设置–插件管理–可选插件”界面搜索:Generic Webhook Trigger,可以看到,点击安装,然后重启。
这里是已经安装过,所以在“已安装”界面里!
2.在项目中配置Generic Webhook Trigger
2.1 选择 Generic Webhook Trigger 为构建触发器
Generic Webhook Trigger 提示文字翻译
由HTTP请求http://JENKINS_URL/generic-webhook-trigger/invoke触发的(JENKINS_URL为jenkins登录的域名和端口号,例:121.99.172.228:6666)
Git存储库中有一些示例配置。
你可以在这里摆弄JSONPath。您可能还想在这里检查语法。
您可以在这里摆弄XPath。您可能还想在这里检查语法。
您可以在这里摆弄正则表达式。您可能还想在这里检查语法。
如果您的作业没有参数化,那么解析后的变量将直接贡献给构建。如果您的作业是参数化的,并且您解析了与这些参数具有相同名称的变量,那么插件将在触发作业时填充参数。这意味着,例如,您可以将参数与SCM插件(如GIT plugin)结合使用,以选择分支。
2.2 在 Post content parameters 中定义post请求的变量
ref 变量可以自己取名称,在后边构建配置上会使用到;
但是 $.ref 中的 ref 是根据实际post请求传递过来的 json 参数 获取的 key名称。
2.3 配置 Token
可选的标记。如果指定了令牌,则只有在调用http://JENKINS_URL/generic-webhook-trigger/invoke时提供令牌时才能触发此作业。它可以作为:
查询参数/调用?令牌= TOKEN_HERE
一个令牌头令牌:TOKEN_HERE
A授权:承载头授权:承载TOKEN_HERE
2.4 配置 Optional filter 构建条件
多个值组合参考写法:
Expression:^(a_b)$ a、b替换成需要匹配的字符串
Text:$ref_$name $ref 和 $name是上面配置的两个参数值
Expression 和 Text 中间都用 "_" 连接(也可是其它任意符号)。
2.5 登录 gitee 添加对应项目下的 WebHooks
登录 gitee → 对应项目 → 管理 → WebHooks → 添加 webHook
URL :http://121.99.172.228:6666/generic-webhook-trigger/invoke?token=vue-admin-dev
WebHook 密码/签名密钥:12345
URL中把 121.99.172.228:6666 换成自己 Jenkins 登录的域名和端口号,vue-admin-dev 换成 之前配置的 Token 值。
WebHook 密码/签名密钥 这个是鉴权方式,如选择密码可随便填。
事件选择 Push。
添加 后 点击测试 查看请求历史 返回 200 即表示成功。