Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建

持续集成时经常需要代码提交自动触发构建流水线。GitLab,svn,Bitbucket 都支持通过webhook方式触发jenkins构建。Jenkins甚至可以直接生成一个URL,使用curl命令访问URL即可触发。
今天介绍一下Bitbucket触发Jenkins构建和curl命令触发构建的方法。

使用curl命令触发Jenkins构建

  • 在项目的Build Triggers中勾选"Trigger builds remotely (e.g., from scripts)"的配置当中还自带一个例子,如果使用这种方法则不用安装“Build Authorization Token Root Plugin”这个插件。但是JENKINS_URL需要带认证信息。
    JENKINS_URL/job/JobName/build?token=TOKEN_NAME
    可以生成一个Jenkins用户token:
    在Jenkins中单击右上角的用户名-> “Configure” -> “API Token” -> “Add new Token”,生成一个token。然后触发构建的URL的拼写规则如下:
    http://USERNAME:[email protected]_URL/job/JobName/build?token=TOKEN_NAME

Bitbucket 触发Jenkins构建

安装需要的插件

  • bitbucket插件: bitbucket-webhooks
    Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建
    插件安装之后在bitbucket 中"Projects" -> “Repositories” -> “Repository settings” 的菜单中可以找到"Post Webhooks"菜单
    Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建
  • Jenkins插件: Build Authorization Token Root Plugin
    Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建
    这个Jenkins插件只需要安装即可,不需要配置

配置

Jenkins 项目配置

在项目的Build Triggers中勾选"Trigger builds remotely (e.g., from scripts)",配置一个token,可以自定义如用项目名称+日期+随机数等。
Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建

Bitbucket设置

Bitbucket 中"Projects" -> “Repositories” -> “Repository settings” -> “Post Webhooks” -> “Add webhook”
Bitbucket webhook触发Jenkins构建和curl触发Jenkins构建
在配置页填写配置项并保存:
Title: 起个名字
URL: 填写规则按照上边的插件截图:
如第一种方式:http://jenkins.example.cn/buildByToken/build?job=JobName&token=test1234
如果需要带参数,则使用第二种方式。
Repository events: 选择触发的事件

至此配置完成,向这个项目提交代码就可以自动触发对应的jenkins构建了。