Как я должен создать сценарий автоматизированного развертывания?

Я должен создать некоторый способ развернуть файл локальной войны на сервере Linux. Что я делал, до сих пор следующий процесс:

  1. ВОЕННОЕ использование загрузки WinSCP.
  2. SSH в использование сервера PuTTY.
  3. Переместите/Переименуйте/Удалите определенные папки файлов для подготовки к ВОЕННОМУ взрыву.
  4. Взорвите ВОЙНУ.
  5. Пошлите электронное письмо, уведомляющее пользователей перезапуска.
  6. Остановите сервер Tomcat.
  7. Использовать tail удостоверяться сервер, остановленный правильно.
  8. Измените символьную ссылку для указания на взорванную ВОЙНУ.
  9. Запустите Tomcat.
  10. Использовать tail удостоверяться сервер, запущенный правильно.
  11. Пошлите электронное письмо, уведомляющее пользователей завершенного перезапуска.

Этот материал все относительно прост. И я уверен, что существует миллион и различные способы сделать это. Я хотел бы услышать о некоторых опциях. Моя первая мысль была сценарием Bash. Я имею очень мало опыта со сценариями в целом, но думал, что это будет хорошим способом учиться. Я также интересовался бы выполнением этого с Ruby/Python или чем-то текущим как это, поскольку у меня есть мало ни к какому опыту с этими языками. Я думаю как молодой разработчик, я должен определенно получить своего рода язык сценариев под своим поясом. Я могу также интересоваться своего рода программным продуктом, который мог сделать этот материал для меня, хотя я думаю, пишущий сценарий, был бы лучший способ пойти ради простоты и настраиваемости (я, возможно, просто составил то слово).

Некоторые фактические вопросы для тех, которые сделали его настолько далеко. Какой язык Вы рекомендовали бы автоматизировать процесс, который я упомянул выше? Это было бы хорошей возможностью для меня еще изучить Bash/Ruby/Python/something, или я должен просто занять эти 10 минут, чтобы сделать это рукой 2-3 раза в неделю? Я думал бы, что ответ на это, очевидно, нет. Я могу автоматизировать эти вещи от своего компьютера, или я должен буду установить сценарии для выполнения в сервере Linux? Электронная почта - что-то, что я могу автоматизировать, или действительно ли я - более обеспеченное выполнение что часть сам?

Больше вопросов почти наверняка подойдет, поскольку я делаю это так благодаря всем заранее.

ОБНОВЛЕНИЕ

Я должен упомянуть, я использую Знатока для создания ВОЙНЫ. Таким образом, если я могу сделать все это со Знатоком, сообщенным мне.

8
задан vektor 14 January 2017 в 09:25
поделиться

3 ответа

Это может быть слишком тяжело для ваших нужд, но смотрели ли вы на инструменты автоматизации сборки, такие как CruiseControl или Hudson ? Вы также можете посмотреть на Integrity , который является более легким и написанным на Ruby (вместо Java, как два других, о которых я упоминал). Эти инструменты могут сделать все, что вы сказали, что вам нужно в своем вопросе, плюс многое другое.

Править

Поскольку вы хотите, чтобы это было больше упражнением по изучению языков сценариев, чем практическим решением, вот вам идея. Вместо того, чтобы вручную загружать WAR каждый раз на свой сервер, настройте репозиторий Mercurial на своем сервере и создайте ловушку (см. здесь , здесь и особенно здесь ), который выполняет сценарий Ruby (или ant, или maven) каждый раз, когда набор изменений отправляется с удаленного компьютера (то есть с вашей локальной рабочей станции). Вы должны написать сценарий, чтобы он выполнял все действия из вашего списка выше. Таким образом, вы узнаете три новых вещи: парадигму распределенного управления версиями, как настроить указанный инструмент и как писать сценарии Ruby для взаимодействия с вашей операционной системой (поскольку ваши действия очень тяжелы для файловой системы).

6
ответ дан 5 December 2019 в 20:16
поделиться

Самое распространенное в моем опыте - муравей, это стоит изучения, все довольно просто, и очень полезно.

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

2
ответ дан 5 December 2019 в 20:16
поделиться

Что вы используете для сборки самого файла WAR? Есть некоторое преимущество в использовании одного и того же инструмента для сборки и развертывания. На нескольких проектах я использовал Ant для сборки Java-проекта и его развертывания на серверах.

0
ответ дан 5 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: