Новый агент за сборку с помощью скриптового конвейера - PullRequest
0 голосов
/ 21 января 2020

Я создал скриптовый конвейер, который требует docker для ускорения запуска нового развертываемого кода.

Поскольку каждый экземпляр docker работает на порту 8081, на агент может работать только одна сборка.

У каждого агента сборки есть 4 доступных исполнителя, поэтому мне нужно вручную установить исполнителей на 1 каждый время вращения агента

1 Ответ

0 голосов
/ 21 января 2020

Если у вас есть только одно задание, вы можете использовать следующее свойство, чтобы запустить только последнюю сборку

disableConcurrentBuilds()

Вы также можете использовать шаги блокировки / этапа, чтобы заблокировать этап

https://jenkins.io/blog/2016/10/16/stage-lock-milestone/

Наконец, вы можете динамически установить для порта значение, отличное от 8081

с помощью команды bash и python:

PORT=$(python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()')

тогда вы должны передать переменную PORT вашей команде docker, чтобы отобразить внутренний порт на новый внешний, который мы получили из переменной

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