我使用bitbucket分支源插件和bitbucket团队项目,该项目为整个bitbucket repos编制索引。尽管我的jenkinsfile只有一次checkout scm键入,但jenkins在jenkinsfile启动之前会检查,如何禁用它?
我需要使用通过" buildWithParameters"远程触发的参数化管道。并将一个提交哈希传递给管道。但问题是bitbucket插件在jenkinsfile之前启动它自己的checkout,它欢迎20-30次提交到构建,这使得第二个参数化checkout无用。
发生这种双重结账时,同样奇怪的是,第二个参数化结账通常以日志条目结束:
> git rev-parse 19835cab351224455778899sdggscvhjkkknb42a3addfb^{commit} # timeout=10
虽然实际上应该这样做:
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
这就是全部,只是日志中的那一行,没有执行任何操作。如何避免第一次结账?
答案 0 :(得分:1)
我是Jenkins Pipelines的新手,但我的理解是Jenkins需要首先获取你的github / bitbucket代码只是为了阅读jenkinsfile,在阅读Jenkinsfile之后,它将在文件中执行你特定的scm步骤。
有an issue in Jenkins backlog尝试在不进行结帐的情况下阅读Jenkins文件。
答案 1 :(得分:1)
你可能指的是“声明:Checkout SCM”“阶段”。如果是这样,请使用skipDefaultCheckout:
pipeline {
agent { label 'docker && git && rbenv' }
options {
skipDefaultCheckout true
}
...