Jenkins 管道:如何在不触发轮询或跟踪更改的情况下签出存储库?

cha*_*_pl 8 jenkins-pipeline

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

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

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

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

Mat*_*ard 2

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

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

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

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