有没有办法在Jenkins文件中使用“agent”(而不是“node”)指定结帐的位置?
pipeline {
agent { label 'my_label' }
stages {
stage('Checkout') {
steps {
// Dang. my_repo has already been checked out
dir('my_repo') {
checkout scm
}
}
}
}
}
看来你使用“节点”就有能力做到这一点,但我似乎找不到与“代理人”有关的方法。
答案 0 :(得分:1)
如果您设置了skipDefaultCheckout(),那么您可以在需要时结帐SCM:
pipeline {
agent { label 'my_label' }
options {
skipDefaultCheckout()
}
stages {
stage('Checkout') {
steps {
// SWEET! my_repo has not been checked out
dir('my_repo') {
checkout scm
}
}
}
}
}
或者,某些SCM提供高级结账选项,可让您将结账转换为其他路径。
请注意,如果您使用多个代理,则每次使用其他代理时都需要手动执行结帐。如果MAY使用相同的工作空间,但无法保证。你应该总是运行checkout scm,以防万一没有。