【问题标题】:Stop Jenkins checking out Git URL in a Pipeline stage停止 Jenkins 在流水线阶段检查 Git URL
【发布时间】:2017-09-28 18:14:11
【问题描述】:

我已经设置了一个 Jenkins 声明式管道作业,它从 Git 中提取了 Jenkinsfile。我有一个在另一个节点上运行的阶段(由标签选择),但它也在尝试从 Git 签出 Jenkinsfile。

如何阻止这种行为?这个特定的从站位于防火墙的另一端,我只能通过 SSH 访问它。

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    您可以在选项块中使用 skipDefaultCheckout()。这将在任何阶段的任何节点上禁用 SCM 的签出,因此您必须在其他阶段手动执行 checkout scm 步骤。

    pipeline {
        agent any
        options { skipDefaultCheckout() }
        stages{
            stage('first stage') {
                steps {
                    checkout scm   
                }
            }
        }
    }
    

    【讨论】:

    • 其实就是skipDefaultCheckout()。您在管道示例中展示了这一点,但在描述中使用了错误的术语。可能应该清理一下。
    • 糟糕。解决了这个问题。谢谢。
    • 还有阶段级选项skipDefaultCheckout。因此,或者可以将其留在流水线级别,仅在特定阶段跳过。
    • 谢谢,这救了我。只是出于好奇,考虑到手动执行 git 步骤的简单性和普遍性,检查 repo 的默认行为的主要原因是什么?
    • ..我的意思是,我从事的大多数项目都将管道、源等保存在不同的 repos 中,无论如何我们总是需要一个明确的 scm 步骤,所以我看不出它是一个有用的默认值。
    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 2023-03-07
    • 2022-10-25
    • 2020-04-09
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多