Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法让不同回购协议的Bitbucket Webhook将Jenkins文件推送到单个管道项目中?_Javascript_Git_Jenkins_Bitbucket - Fatal编程技术网

Javascript 有没有办法让不同回购协议的Bitbucket Webhook将Jenkins文件推送到单个管道项目中?

Javascript 有没有办法让不同回购协议的Bitbucket Webhook将Jenkins文件推送到单个管道项目中?,javascript,git,jenkins,bitbucket,Javascript,Git,Jenkins,Bitbucket,我有一个bitbucket服务器:server.com/projects/sites/repos/ 这个目录有大约50个网站前端,所以这是50个独特的repo URL,我希望Bitbucket用它向Jenkins进行webhook调用。每个都有自己的Jenkins文件,我可以告诉Jenkins从哪个repo获取源代码,运行哪个npm脚本 不幸的是,除非我指定确切的repo url,否则我似乎一辈子都无法让Bitbucket插件连接到Jenkins。。这意味着我必须为每一次回购创建一个詹金斯管道项

我有一个bitbucket服务器:server.com/projects/sites/repos/

这个目录有大约50个网站前端,所以这是50个独特的repo URL,我希望Bitbucket用它向Jenkins进行webhook调用。每个都有自己的Jenkins文件,我可以告诉Jenkins从哪个repo获取源代码,运行哪个npm脚本

不幸的是,除非我指定确切的repo url,否则我似乎一辈子都无法让Bitbucket插件连接到Jenkins。。这意味着我必须为每一次回购创建一个詹金斯管道项目

有没有人有过将类似的东西保持干燥的经验?如果不是,我可能会避开詹金斯,推出自己的解决方案


谢谢你的帮助

我从未从Jenkins的bitbucket插件中得到任何有用的东西。我使用“Http请求后接收钩子”,尽管它只会在推送时触发(显然,在GUI中合并PR分支不是推送,因此不会在该事件中触发)。使用HRPRH,您可以使用“buildWithParameters”启动任何您想要的作业。

一种解决方案是,只构建和部署从bitbucket服务器到Jenkins的合并请求

您可以在bitbucket应用程序中配置Jenkins build jobs触发器,然后我将根据批准的合并请求进行构建。 对于管道作业,我发现这需要是一个buildWithParameters触发器,所以您需要能够使用此方法触发构建

要使Pull请求通知程序触发Jenkins作业,需要在bitbucket插件设置中配置以下内容:

Injection Url: http://JENKINS_URL/crumbIssuer/api/xml?xpath=//crumb 
Injection regexp: <crumb>([^<]*)</crumb> 
Basic authentication: username and password 
URL: http://(JENKINS_URL)/job/JOB_NAME/buildWithParameters?token=TOKEN&cause=PULL_REQUEST&PULL_REQUEST_URL=${PULL_REQUEST_URL}&PULL_REQUEST_ID=${PULL_REQUEST_ID}&PULL_REQUEST_TO_BRANCH=${PULL_REQUEST_TO_BRANCH}&PULL_REQUEST_FROM_HASH=${PULL_REQUEST_FROM_HASH}

更多详细信息请参见。

感谢您的回复,并阅读您的评论。这是一个很棒的策略,我在平台/服务代码中也使用了类似的策略。不幸的是,对于我来说,我们无法为我们的前端项目提供与基于PR的工作流相关的开销。
    Header: Jenkins-Crumb
    Value: ${INJECTION_URL_VALUE}