Я пытаюсь понять, как структурировать конвейер Jenkins 2.7 groovy script. Я прочитал руководство по конвейеру, но чувствую, что он может расшириться по этим темам.
Я могу понять, что в конвейере может быть много stage
, и каждый stage
может иметь много step
s. Но в чем разница между step();
и вызовом метода внутри a stage
, скажем sh([script: "echo hello"]);
. Должно ли node
находиться внутри или вне stage
s? Если общие свойства задания находятся внутри или снаружи node
?
Вот моя текущая структура на мастеру ubuntu node:
#!/usr/bin/env groovy
node('master') {
properties([
[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', numToKeepStr: '10']]
]);
stage 'Checkout'
checkout scm
stage 'Build'
sh([script: "make build"]);
archive("bin/*");
}