gitlab+webhook自动触发jenkins

某些分支push/merge代码后,可以自动触发单元测试、静态代码扫描等。提前预防问题,发现问题,提前解决。

1.下面实现一个场景,当开发将代码merge/push到一个多人协作的merge分支时,即可触发jenkins job执行,其他分支或操作不触发执行。
2.可以通过手动执行触发该jenkins job,且可以指定触发的分支。

Jenkins配置:

  • 我们的jenkins job不使用匿名触发,我们可以通过user:token的方式来进行远程触发。
  • 我的账户=》设置API Token,并记录生成的token。
  • 手动执行本工程,或者通过其他工程触发本工程,需要增加参数,可以在本工程设置参数化执行,比如指定分支,可将分支参数设置为ref,跟远程调用POST参数中提取出来的定义名一样即可,在后续shell等操作中使用,不冲突。
  • gitlab配置:

  • 首先获取到某git工程的admin权限