由于CheckoutOption对我不起作用,我不得不用管道改变它
扩展:[[ $ class:'CloneOption',timeout:120 ]]
完整的结账代码
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [[$class: 'CloneOption', timeout: 120]], gitTool: 'Default', userRemoteConfigs: [[credentialsId: key, url: repo]] ])
经过一些实验,我找到了下面显示的解决方案。
概括
可以通过Jenkins GUI(Configuration
-> SCM
-> Git
-> Additional Behaviors
-> Advanced Checkout Behaviors
-> Timeout
)设置结帐超时。我想在Groovy脚本中做同样的事情,该脚本为Jenkins生成Docker配置。该脚本已设置克隆超时。
... public class DockerJob { ... multiscm { git { remote { url(...) branch(...) ... } shallowClone() cloneTimeout(60) // Add "checkout timeout" here... } ... } ... } ...
明显的
... // "Checkout timeout" checkoutTimeout(60) ...
不工作。一般设置超时
... // "Checkout timeout" timeout(60) ...
也没有用。然后在网页上评论导致:
... // "Checkout timeout" extensions { checkoutOptions { timeout(60) } } ...
那也没有用。最后...
解
... public class DockerJob { ... multiscm { git { remote { url(...) branch(...) ... } shallowClone() cloneTimeout(60) // "Checkout timeout" configure { node -> node / 'extensions' << 'hudson.plugins.git.extensions.impl.CheckoutOption' { timeout 60 } } } ... } ... } ...