Запустите длительную команду и сделайте фоновую проверку в то же время - в конвейере Jenkins.

BTakacs спросил: 14 ноября 2017 в 05:54 в: jenkins

Мне нужно запустить долго выполняющуюся команду и прервать ее, если какая-либо проверка в фоновом режиме завершится неудачей. Более конкретно: tail aws регистрирует во время выполнения задачи - и останавливается после ее завершения.

Мой текущий подход является:

while(checkRunning(task)) {
    sh("timeout 10 ${command} || true")
}

, где:

команда:
awslogs get ...

checkRunning: aws ecs describe-tasks ... -query 'tasks[0].lastStatus'

Но это создает небольшие фрагменты из всего вывода.

Есть ли лучший способ сделать это? Например, параллельные шаги и прерывание одного от другого

ОБНОВЛЕНИЕ: Теперь я вижу две возможности: 1. реализовать в bash или другом shell2. создайте пользовательскую оболочку (например, проверьте это: https://github.com/jenkinsci/pipeline-aws-plugin/blob/master/src/main/java/de/taimos/pipeline/aws/WithAWSStep.java)

0 ответов