3

我想做一个clean before checkout在 Jenkins git 插件文档中描述的操作:

结帐前清理 通过删除所有未跟踪的文件和目录,包括在 .gitignore 中指定的文件和目录,在每次结帐之前清理工作区。...

但是如何将此选项添加到作为第一步的默认结帐步骤?

我觉得它应该是一个由 git 插件扩展的选项,可以包含在optionsJenkinsfile 块中,如文档中所述:

options 指令允许从 Pipeline 本身配置特定于 Pipeline 的选项。Pipeline 提供了许多这样的选项,例如 buildDiscarder,但它们也可能由 插件提供......

但是如何知道这个插件提供了哪些选项及其名称呢?在文档中没有找到它,我也可能错了,clean before checkout应该放在optionsJenkinsfile 块中。

请帮忙。

4

1 回答 1

5

正如评论中已经提到的那样,如果管道启动,则在管道选项中使用skipDefaultCheckout()Source )不签出存储库。

跳过默认结账

默认情况下,在 agent 指令中跳过从源代码管理中检出代码。

要手动获取存储库,您可以使用checkout scmSource

pipeline {
    agent any
    options {
        skipDefaultCheckout()
    }
    stages {
        stage('Example') {
            steps {
                // Cleanup before starting the stage
                // deleteDir() / cleanWs() or your own way of cleaning up

                // Checkout the repository
                checkout scm 

                // do whatever you like
            }
        }
    }
}
于 2020-04-01T07:28:48.297 回答