Single Jenkins Computer/Node, используемый более чем одним Jenkins
Меня интересует, возможно ли иметь один компьютер / узел, который будет разделен между двумя экземплярами jenkins?
Я знаю, что можно сделать две одинаковые копии конфигураций узлов на экземплярах Jenkins и изменить рабочее пространство, но я стремлюсь к этому сценарию.
Дженкинс А с Узлом А
Дженкинс Б с Узлом А
Дженкинс А начинает работу на узле А
Jenkins B переводит узел A в автономный режим
Дженкинс Б начинает работу на узле А
Jenkins A переводит узел A в автономный режим
Узел A может использоваться только один раз за раз, и не должно быть параллельных заданий, выполняемых независимо от разных рабочих областей.
Я знаю, что это может быть достигнуто, когда у вас есть один экземпляр jenkins, но как это сделать, если вам нужно использовать как минимум два из них?
ПРИМЕЧАНИЕ: оба экземпляра Jenkins расположены на разных машинах.
1 ответ
Я считаю, что плагин Jenkins Mesos это то, что вам нужно.
Используйте следующие шаги для установки и настройки:
Конечно, вы должны были установить кластер mesos для себя, прежде чем делать это выше, см. Официальный сайт mesos. Это может стоить некоторого времени, если вы не знакомы с мезо.
И на шаге 4 вам лучше установить slave cpus
равен номеру вашего реального подчиненного узла.
Принцип таков:
Сначала Mesos отправляет предложение ресурсов мастеру Jenkins Master A, а затем мастеру jenkins A запускает задачи на подчиненном узле A, поскольку ресурс теперь использовался мастером jenkins A. Предложение ресурсов больше не будет отправлено Jenkins Master B, поэтому Jenkins Master B ждет.
После завершения задания Jenkins Master A предложение ресурсов мезо для подчиненного узла A будет отправлено Jenkins Master B, после чего Jenkins Master B сможет начать задание.
Раб может быть использован Jenkins Mesos A и Jenkins Mesos B, но никогда в одно и то же время.
Надеюсь, это поможет вам.