首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解耦Jenkins CI和gitlab CI管道?

如何解耦Jenkins CI和gitlab CI管道?
EN

Stack Overflow用户
提问于 2021-12-09 14:32:43
回答 2查看 343关注 0票数 0

到目前为止我只是和詹金斯一起工作。我们已经配置了一个多分支管道作业来自动构建和测试软件。这些任务是用Groovy编写的,并作为Jenkinsfile存储在git存储库的根目录中。

最近,我们决定添加另一个自动生成文档的机制。使用GitLab CI实现了文档的生成(但这可能是任何其他任务)。

这两个管道实际上都是独立的,都是由git提交/推触发的。我不明白的是:为什么和如何将Jenkins管道执行与GitLab CI管道相关联?在下面的屏幕截图中,出现了一个新的列"External“--表示Jenkins管道作业。

这不是什么大问题。但是,由于这两条管道应该是独立的--运行的结果不应该相互影响。然而,当詹金斯的工作失败时,“外部”,GitLab CI管道也失败了:

是否有办法更好地将这些管道解耦,即让它们失败或单独成功?

EN

回答 2

Stack Overflow用户

发布于 2021-12-09 15:01:25

这是因为Gitlab分支源码插件会自动通知Gitlab有关Jenkins管道状态的信息。这允许您在Gitlab中直接看到构建的结果。如果希望在Gitlab中只获得Gitlab CI管道的结果,可以禁用此功能:

其他特征: 可以通过选择“行为”部分中的“添加”来选择这些特性。 ..。 Skip管道状态通知-禁用通知GitLab服务器管道状态. ..。

因此,在yout组中,只需转到配置> Projects > Gitlab group > Add并选择Skip管道状态通知即可。

票数 1
EN

Stack Overflow用户

发布于 2021-12-10 00:49:57

为什么以及如何将Jenkins管道执行与GitLab CI管道相关联?在下面的屏幕截图中,出现了一个新的列"External“--表示Jenkins管道作业。

通常,“外部”状态是使用提交构建状态API创建的-- Jenkins使用此API向GitLab CI报告Jenkins管道构建状态。

詹金斯的外部状态出现在您的GitLab管道中,因为您有配置了您的Jenkins服务器/project向GitLab报告构建状态,或者在GitLab中设置了webhook与Jenkins的集成 (请注意,这些状态可能是在组级或管理员设置的,而不一定是项目级别)。

要将其从管道中删除,您应该禁用任何现有的集成配置,并独立于任何GitLab集成设置Jenkins项目。例如,使用git轮询来触发jenkins构建和删除groovy脚本/构建阶段中的任何updateGitlabCommitStatus调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70291685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档