当前位置:  开发笔记 > 运维 > 正文

如何在Jenkins Git插件中指定结帐超时?

如何解决《如何在JenkinsGit插件中指定结帐超时?》经验,为你挑选了2个好方法。



1> guillem..:

由于CheckoutOption对我不起作用,我不得不用管道改变它

扩展:[[ $ class:'CloneOption',timeout:120 ]]

完整的结账代码

checkout([$class: 'GitSCM', branches: [[name: '*/master']],
            extensions: [[$class: 'CloneOption', timeout: 120]], gitTool: 'Default', 
            userRemoteConfigs: [[credentialsId: key, url: repo]]
        ])



2> Petr Vepřek..:

经过一些实验,我找到了下面显示的解决方案。

概括

可以通过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
                }
            }
        }
        ...
    }
    ...
}
...

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有