通过URL触发Jenkins构建

时间:2022-05-28 06:30:26

用Jenkins做持续集成时,一般会使用webhooks触发构建,或者定时构建,这里记录用URL的方式触发Jenkins构建。

Note: This assumes you're using Jenkins' own user database for user management rather than LDAP or another directory service.

1. 创建一个新用户

   Manage Jenkins->Manage Users->Create User

  输入用户名密码,然后点击注册,这里假设用户名为test

2. 在任务设置中激活Trigger builds remotely (e.g., from scripts),这个token是自己设定的

  通过URL触发Jenkins构建

3. 给用户添加权限

  Manage Jenkins->Configure Global Security

  勾选Access Control下的matrix-based security,然后将test用户添加到列表里面

  通过URL触发Jenkins构建

  只需要以下权限即可:

  • Overall - Read
  • Job - Build
  • Job - Read
  • Job - Workspace

4. 创建URL

  用test账号登录,从右上角点击用户,进入用户设置,点击Show API Token...

通过URL触发Jenkins构建

根据这些内容,就可以创建一个这样的URL:

  http://test:fe20f2d33760fbeec0a362dbbf59cd18@your-jenkins.com/job/JobName/build?token=iFdsjS24SDFqp53JGsd9k0Cm

注意这里的your-jenkins.com一般是IP+端口号

最后使用cURL或者Postman发送请求

curl -X POST http://test:fe20f2d33760fbeec0a362dbbf59cd18@your-jenkins.com/job/JobName/build?token=iFdsjS24SDFqp53JGsd9k0Cm

如果出现403错误:No valid crumb was included in the request

请在系统管理 –> Configure Global Security中调整设置:

取消“防止跨站点请求伪造(Prevent Cross Site Request Forgery exploits)”的勾选。