Когда я должен получить задание Jenkins удаленно с помощью сценария Bash, когда мне нужно получить идентификатор задания? - PullRequest
0 голосов
/ 04 февраля 2019

Я уже создал скрипт trigger_jenkins_job.sh, который сейчас работает отлично.Он состоит в основном из 3 функций:

input_checkpoint 
run_remotejob         #: Running Jenkins job remotely using Json api.
sleep 10              #: 10 sec estimated time until pending duration is over 
                         #and Jenkins job start running, i.e. a given slave was 
                         #assigned to run the job.
get_buildID           #: Retrieving build state, last build ID and last stable 
                         #build ID using 

Проблема в том, что я хочу избавиться от этого сна на 10 секунд.И в то же время я хочу быть уверенным перед выполнением функции get_buildID, что запущенное удаленно задание фактически выполняется на узле.

Таким образом, я получу идентификатор запущенного задания, а не последний в очереди перед запуском этого задания.

Что касается файла задания Jenkins, я указал:

agent {
        label 'linux-node'
    }

Итак, я полагаю, вопрос в том, что мне нужно кое-что из сценария bash, чтобы проверить, выполняет ли linux-node удаленно-запускаемое задание, и если да, я выполняю функцию get_buildID.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Если вы запускаете Job с токенами, сама команда должна вернуть вам buildNumber.Другим способом может быть REST API.Пожалуйста, смотрите поле "nextBuildNumber" там (если сборка еще не завершена), иначе "число"

0 голосов
/ 04 февраля 2019

Избавьтесь от команды sleep и используйте команду wait.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...