У меня две задачи, выполняющиеся в одном определении задачи (установите желаемое количество для этой службы на 2), я использую Jenkins для непрерывного развертывания.При обновлении служебной задачи, сначала нужно повернуть две запущенные задачи.
Я пытаюсь сделать это
Сначала получить текущие задачи, используя
def currentTask = sh (
returnStdout: true,
script: " aws ecs list-tasks --cluster ${clusterName} --family ${taskFamily} --output text | egrep 'TASKARNS'| awk '{print \$2}' "
).trim()
Затем остановить эту задачу, используя
if (currentTask) {
sh "aws ecs stop-task --cluster ${clusterName} --task ${currentTask}"
}
, но этоостановив только первое задание.Я попытался написать «скрипт bash» с циклом for для итерации переменной «current task», но не работал с форматом Jenkins.
Я пытался использовать следующий скрипт, чтобы остановить задачи, но он не работает
if (currentTask) {
sh "
for oldtask in ${currentTask}; do
aws ecs stop-task --cluster ${clusterName} --task ${oldtask};
done "
}
Есть идеи, как использовать цикл for для Jenkins, чтобы остановить обе выполняющиеся задачи?