【发布时间】:2017-09-28 18:14:11
【问题描述】:
我已经设置了一个 Jenkins 声明式管道作业,它从 Git 中提取了 Jenkinsfile。我有一个在另一个节点上运行的阶段(由标签选择),但它也在尝试从 Git 签出 Jenkinsfile。
如何阻止这种行为?这个特定的从站位于防火墙的另一端,我只能通过 SSH 访问它。
【问题讨论】:
我已经设置了一个 Jenkins 声明式管道作业,它从 Git 中提取了 Jenkinsfile。我有一个在另一个节点上运行的阶段(由标签选择),但它也在尝试从 Git 签出 Jenkinsfile。
如何阻止这种行为?这个特定的从站位于防火墙的另一端,我只能通过 SSH 访问它。
【问题讨论】:
您可以在选项块中使用 skipDefaultCheckout()。这将在任何阶段的任何节点上禁用 SCM 的签出,因此您必须在其他阶段手动执行 checkout scm 步骤。
pipeline {
agent any
options { skipDefaultCheckout() }
stages{
stage('first stage') {
steps {
checkout scm
}
}
}
}
【讨论】:
skipDefaultCheckout。因此,或者可以将其留在流水线级别,仅在特定阶段跳过。