首页 > 解决方案 > Jenkins 管道:如何在不触发轮询或跟踪更改的情况下签出存储库?

问题描述

我的项目由多个 git 存储库组成。一个主存储库和其他辅助存储库。在詹金斯管道中,我想要checkout scm:所有这些,但我只对跟踪更改和从主存储库进行轮询感兴趣 - 其他人会使更改日志混乱并导致其他基础设施问题(这是一个大项目)。

我想过简单地检查sh块中剩余的存储库以跳过我不想要的“功能”,但我必须复制配置,并以某种方式传递凭据 - 通常我希望管道为我完成工作。

预期结果: checkout scm不会导致更改日志出现,或导致从所述 repo 进行轮询。

有没有办法使用配置来存档它,而不是使用sh步骤从管道中隐藏结帐逻辑?

标签: jenkins-pipeline

解决方案


当您签出其他存储库时,您可以禁用更改日志并使用类的可选参数进行轮询。例如,给定一个名为的帮助存储库helper

checkout([$class: 'GitSCM',
          branches: [[name: '*/master']],
          userRemoteConfigs: [[url: 'http://git-server/user/helper.git']]
          changelog: false,
          poll: false
])

然后将对helper存储库禁用更改日志和轮询。您可以为所有其他帮助存储库复制此用法,以禁用它们的更改日志和轮询。

查看 GitSCM 管道步骤文档以获取更多信息。


推荐阅读