如何使用管道代码覆盖默认的 Jenkins Git 插件签出?
how to override default Jenkins Git plugin checkout with pipeline code?
我有带有 jenkins git 插件的 jenkins 多分支管道。
当创建新的拉取请求时,一个新的 PR 作业开始,并自动完成存储库的签出。问题是有时它会超时(网络)。
我尝试使用带有一些条件的 GitSCM 代码在管道中重试:
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions + [[$class: 'CloneOption', noTags: false, reference: '', shallow: false]],
submoduleCfg: [],
userRemoteConfigs: scm.userRemoteConfigs
])
}
它可以很好地重复签出,但我仍然需要禁用插件的第一个默认签出(如果失败则作业失败)。我怎么做?如何覆盖内置结帐?
skipDefaultCheckout
选项应禁用默认结帐。例如:
options { skipDefaultCheckout() }
在此处了解更多信息:https://www.jenkins.io/doc/book/pipeline/syntax/#available-options
我有带有 jenkins git 插件的 jenkins 多分支管道。 当创建新的拉取请求时,一个新的 PR 作业开始,并自动完成存储库的签出。问题是有时它会超时(网络)。
我尝试使用带有一些条件的 GitSCM 代码在管道中重试:
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions + [[$class: 'CloneOption', noTags: false, reference: '', shallow: false]],
submoduleCfg: [],
userRemoteConfigs: scm.userRemoteConfigs
])
}
它可以很好地重复签出,但我仍然需要禁用插件的第一个默认签出(如果失败则作业失败)。我怎么做?如何覆盖内置结帐?
skipDefaultCheckout
选项应禁用默认结帐。例如:
options { skipDefaultCheckout() }
在此处了解更多信息:https://www.jenkins.io/doc/book/pipeline/syntax/#available-options