git - 在已推送代码的 bitbucket 中的任何分支上触发 Jenkins 管道
问题描述
我有两个项目的回购(不是我的选择)。结构如下所示:
repo1
|_folder
|_tests
|_src (repo2)
|_index.html
|_.git
|_composer.json
|_.git
我设置了一个 Jenkins 管道,它将克隆repo1
,然后在下克隆repo2
,src/
最后将composer install
在下运行repo1
。回购的管道脚本src
如下所示:
checkout([
$class: 'GitSCM',
branches: [[name: '**']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'src']],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'XXXX-XXXX-XXXX',
url: 'https://BITBUCKETURL'
]]
])
我还在“构建触发器”下有复选框“在将更改推送到 Bitbucket 时构建”(使用 bitbucket 插件)。最重要的是,我已经设置了我的 webhook 以向 jenkins 发送请求。应该注意的是,我的 webhook 适用于仅限于特定分支的自由式项目。
我现在想要做的只是测试被推送到的分支,而不是触发时的每个分支。此外,我们没有分支的命名约定,因此可以将它们命名为任何不是master
. 我该如何处理?
解决方案
在我的项目中,我正在使用它并且它正在按应有的方式工作(我已经不记得为什么我们决定采用这种方式了,但是 BB 插件或 Push hooks 都存在问题,所以我们使用的是简单的调度程序):
```
checkout([
$class : 'GitSCM',
branches : [[name: '**']],
doGenerateSubmoduleConfigurations: false,
extensions : [[$class: 'CheckoutOption', timeout: 2]],
submoduleCfg : [],
userRemoteConfigs : [
[
credentialsId: 'CREDTS',
url : 'URL'
]
]
])
```
如果我将此与您的代码片段进行比较,除了扩展之外,它们大部分是相同的。再加上我们已经配置了 Poll Scm 构建触发器的作业本身* * * * *
- 每分钟检查一次
推荐阅读
- nginx - Kubernetes 网络策略未按预期工作
- python - GridSeachCV 有什么有效的替代方法可以在 tensorflow 中找到深度 NN 中的最佳超参数?
- fortran - fortran中的“种类值超出范围”错误
- c# - 安装软件包后缺少 opencv_videoio_ffmpeg411.dll(和其他)
- java - Java/Eclipse 格式化程序在每个函数之后开始一个新行
- c++ - 为什么不是 boost::deque 的构建时块大小?
- azure - Azure 中的事件存储
- reactjs - 如何将数据从 React 传递到 Alan-AI Studio?
- arduino - 如何将millis()变量重置为零
- vbscript - 在 VBS 中设置注册表项