我有一个关于触发管道的问题。
Github Repo A:
- 包含我的Jenkinsfile
- 签出回购B
- 执行Repo B中的脚本
Github Repo B:
- 容器脚本
- 将作为我的管道的一部分执行
所以我希望每次将提交推送到Repo B时都能触发这个管道,最好的方法是什么?使用Github网络挂钩是最好的方法吗?
我也遇到了类似的问题。我的JenkinsFile不在我想观看并通过BitBucket推送触发的同一SCM中。
SCM CodeBase JenkinsFile.groovy
SCM SourceCpp <project>
我尝试使用JenkinsFile.groovy创建声明性管道,以触发推送到SourceCpp。
到目前为止,我已经尝试过:
轮询SCM-不起作用,我无法指定要轮询的SCM。触发器远程构建-明显的安全风险,不能在明文中有API密钥。GitHub-不适用于我的BitBucket。Bitbucket webhook触发器-无法将SCM覆盖到SourceCpp
当将更改推送到Bitbucket时生成-很有希望,但不起作用/触发器,尽管我覆盖了URL。
但有一个解决方案:
- 使用SCM SourceCpp创建新的FreeStyle作业Dull_project
- 为其SCM更改设置简单的Bitbucket webhook触发器(或您喜欢的任何其他触发器(
- 在JenkinsFile作业中,选择触发器在构建其他项目后构建
或作为声明性语法:
*triggers {
// this is a hack to make dependency on SourceCpp.git work
upstream 'Dull_project'
}*
问题解决了。