Я пытаюсь преобразовать свой скриптовый конвейер в декларативный конвейер. Хотите знать, как сделать простой оператор if внутри блока steps {}
.
stage ('Deploy to Docker') {
steps {
parallel (
"instance1" : {
environment {
containerId = sh(script: "docker ps --quiet --filter name=${fullDockerImageName}", returnStdout: true).trim()
}
steps {
if (containerId.isEmpty()) {
docker.image('some/image').run("--name ${fullDockerImageName}")
}
}
}
)
}
}
Это вызывает следующее исключение:
WorkflowScript: 201: Expected a step @ line 201, column 29.
if (containerId.isEmpty()) {
Поскольку мне не разрешено делать простое if(..)
внутри блока steps {}
, есть идеи, как это сделать?
Кажется, не имеет смысла делать это полным этапом с when {}
, поскольку на простом этапе происходит больше шагов (запуск остановленного контейнера, если он существует, и т. д.).
Какой лучший способ сделать простое если?