выполнить ту же команду на нескольких unix серверах с помощью Jenkins - PullRequest
0 голосов
/ 11 июля 2020

У меня несколько серверов Unix, на которых мне нужно остановить и запустить несколько служб (имя службы одинаково на всех серверах, а также имя пользователя и пароль для входа). Я могу перезапустить службы для одного сервера unix, используя сценарий оболочки Execute на удаленном хосте, используя s sh. Но не может работать с несколькими серверами.

Пример: сервер 1 и сервер 2 (оба являются unix серверами) имя файла сценария: образец. sh

порядок запуска этого сценария с использованием Jenkins:

  1. остановить службу на сервере Server1, используя образец. sh сценарий
  2. остановить службу на сервере Server2, используя образец. sh сценарий
  3. запустить службу на сервере Server1 используя образец. sh сценарий
  4. запуск службы на сервере 2 с использованием образца. sh сценарий

пожалуйста, дайте мне знать, как добиться этого с помощью Jenkins. Я сделал это, создав 4 задания для 4 шагов, а затем обработал их конвейером. Но в реальном времени у меня более 10 серверов, и я считаю, что это не лучший способ делать это.

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Плагин Publi sh over S SH позволит вам копировать файлы на удаленный сервер и выполнять команды на удаленном сервере. Пожалуйста, посмотрите: https://plugins.jenkins.io/publish-over-ssh/

Вы можете использовать плагин S SH для запуска команд оболочки на удаленном компьютере через s sh.

https://plugins.jenkins.io/ssh/

1 голос
/ 12 июля 2020

Я думаю, что лучше всего использовать плагин Matrix Project . Мы используем его для параллельного выполнения задач администрирования на всех узлах, соответствующих заданной метке.

Тривиально, вы можете использовать одно матричное задание для остановки обслуживания на всех узлах и, когда это будет сделано, запустить второе задание для запуска всех узлов.

Он также имеет множество точек расширения .

Из примечаний;

Вы должны выбрать «Создать проект с несколькими конфигурациями «при создании проекта он не может быть изменен позже. Если вы пропустите этот шаг, вы сильно запутаетесь и далеко не уйдете. Каждая конфигурация похожа на отдельную работу. У него есть собственная история сборки, журналы, среда и т. Д. c. История вашего задания с несколькими конфигурациями показывает вам только список выполненных конфигураций. Вам необходимо детально изучить каждую конфигурацию, чтобы увидеть историю и журналы консоли.

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