Запустите действие postbuild для каждого теста на указанном узле jenkins - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть удаленный агент и несколько локальных агентов на моем сервере jenkins. У меня есть скрипт, который я хочу запустить только после тех тестов, которые построены на удаленном агенте. Возможно ли это как-то? Спасибо

1 Ответ

0 голосов
/ 16 апреля 2020

Используя конвейер jenkins, вы можете запускать действия в зависимости от результата сборки. Посмотрите здесь:

https://jenkins.io/doc/book/pipeline/syntax/#post

Вы можете даже разделить сборку на "этапы" и выполнять действия в соответствии с результатом этапа, используя тот же метод .

На всем конвейере, или на определенной стадии c, или даже на ваших действиях после публикации вы можете выбрать, какой узел выполняет работу.

Учитывая, что вы запускаете стадию на Определив c узел, вы можете:

pipeline {
    stages {
        stage ('Build') {
            agent { label "SLAVE1" }
            steps {
                // Stuff to do
            }
            post {
                 always {
                     // stuff
                 }
            }
        }
    }
}

Или в конце вашего конвейера в почтовом блоке:

pipeline {
    stages {
        stage ("Build") {
            agent { label "SLAVE" }
            steps {
                // stuff
            }
        }
    }
    post {
        // Or failure, unstable, success...
        always {
            node('SLAVE1'){
                // stuff
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...