Я пытаюсь понять, как структурировать конвейер 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/*");
}