pipeline {
agent none
stages {
stage('Build') {
agent { node { label 'builder' } }
steps {
sh 'build-the-app'
stash(name: 'app', includes: 'outputs')
}
}
stage('Test’) {
agent { node { label 'tester' } }
steps {
unstash 'app'
sh 'test-the-app'
}
}
}
}
我遇到的问题是,由于它在两个不同的节点上运行,因此默认情况下会在两个节点上签出存储库。我希望它不这样做,因为它不是必需的。因此,我添加了以下选项:在指定
skipDefaultCheckout
之后,如何在告诉我指定的阶段后手动告诉管道以检出存储库的方式?#1 楼
您随时可以使用checkout scm
步骤:pipeline {
agent none
options { skipDefaultCheckout() }
stages {
stage('Build') {
agent { node { label 'builder' } }
steps {
checkout scm
echo 'build-the-app'
stash(name: 'app', includes: 'outputs')
}
}
stage('Test') {
agent { node { label 'tester' } }
steps {
unstash 'app'
echo 'test-the-app'
}
}
}
}
#2 楼
您也可以选择在需要检查git的阶段将选项设置为false
:pipeline {
agent none
options { skipDefaultCheckout(true) }
stages {
stage('Build') {
agent { node { label 'builder' } }
options { skipDefaultCheckout(false) }
steps {
echo 'build-the-app'
stash(name: 'app', includes: 'outputs')
}
}
stage('Test') {
agent { node { label 'tester' } }
steps {
unstash 'app'
echo 'test-the-app'
}
}
}
}
评论
您可以显示添加选项的确切位置吗? (也许添加了注释?)