Mar*_*moy 17 git githooks jenkins multibranch-pipeline
标题主要是说.如何从远程git存储库触发Jenkins multibranch管道项目构建?
"触发器远程构建"构建触发器选项似乎不起作用,因为没有保存您设置的令牌.
Mar*_*moy 16
目前(Jenkins 2.22),"触发器远程构建"构建触发器选项在多分支管道作业配置中可见,但不起作用(如果您检查它并指定一个令牌,它会在保存后重置).根据这一点,故意不能设置触发器,而是一个它作为选项出现的错误.
在同一个线程中,他们解释了如何为多分支管道项目中的每个单独项目(分支)触发构建.我需要的是一个动态设置,它适用于在设置触发器后创建的分支,因此而不是线程中的建议端点(/job/project-name/job-name/build
原本应该是/job/job-name/project-name/build
,因为项目是从作业中的分支创建的),我发现要使用的端点是/job/job-name/build
.要使其工作,您必须使用API令牌创建用户(转到管理Jenkins - >管理用户 - >齿轮图标 - >显示API令牌),并在请求中将这些用作用户名和密码.
对于那些习惯使用Jenkins REST API的人来说,这个解决方案可能是显而易见的,但是当你不熟悉多分支管道项目和REST API时,明白这一点并没有什么坏处.
在不禁用跨站请求伪造 (CSRF) 保护的情况下,您可以使用的命令是
crumb=$(curl -s 'http://USERNAME:API_TOKEN@JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
curl -X POST -H "$crumb" "http://USERNAME:API_TOKEN@JENKINS_URL/job/JOB_NAME/build"
Run Code Online (Sandbox Code Playgroud)
将大写字母替换为适当的值。
我无法获得接受的答案中所述的API令牌,因为即使以admin身份登录,也没有名为“ Manage Users”的链接。相反,我得到了Jenkins Wiki中所述的令牌:
您的个人配置页面中提供了API令牌。在每个页面的右上角单击您的名称,然后单击“配置”以查看您的API令牌
获得令牌后,以下curl请求将触发多分支管道的新构建(替换以开头的占位符$
)
curl -X POST -u "$jenkins_username:$api_token" "http://$jenkins_url/job/$my-pipeline/job/$branch_name/build?token=BUILD_TOKEN"
Run Code Online (Sandbox Code Playgroud)
注意事项:
/
变为%252F
。token
查询参数是可选。 归档时间: |
|
查看次数: |
14041 次 |
最近记录: |