Должен ли я использовать сервер Jenkins CI для развертывания файла WAR в Tomcat?

#continuous-integration #jenkins

#непрерывная интеграция #дженкинс

Вопрос:

Недавно я начал использовать jenkins для непрерывной интеграции моего проекта. Он создает файл WAR (с использованием Maven) и приложение для Android (с использованием Ant). Я также хочу автоматизировать развертывание ночной сборки WAR на моем тестовом сервере Tomcat и развертывание моего приложения для Android на веб-сервере, чтобы его можно было установить по воздуху. Один из способов сделать это — добавить цель сборки ant для этого выпуска и попросить Дженкинса вызвать этот ant taget.

Мой вопрос в том, уместно ли это использовать Jenkins или у меня должен быть отдельный процесс для этого выпуска (например, задание cron, вызывающее цель ant)?

Ответ №1:

Вот статья для чтения с хорошими советами по запуску развертываний с сервера CI, такого как Jenkins:

http://decodify.blogspot.com/2010/10/how-to-build-one-click-deployment-job.html

Ответ №2:

Если у вас уже есть цель ant, способная опубликовать ваш .war файл в Tomcat, а также ваше приложение для Android на вашем веб-сервере, вы можете создать задание (или два) внутри Jenkins для выполнения этих задач, а затем использовать опцию «Периодически создавать» в Jenkins, чтобы создавать эти задания только в указанное время.

В поле «Периодически создавать» используются cron определения времени в стиле.

 # min hour day-of-month month day-of-week
# Some examples:
# Run this job at 4 am daily
0 4 * * *

# Run this job at midnight daily
@midnight

# Run this job every Sunday at 3pm
0 15 * * 0
# or (Note: Sunday == day-of-week 0 and 7)
0 15 * * 7
  

Для более достойных cron примеров ознакомьтесь с этим примером

Ответ №3:

Вы должны определенно использовать Jenkins для этого. Существует плагин deploy, который работает для Tomcat среди других серверов. Настройка выполняется как действие после сборки, и он развернет ваш war-файл в конкретный экземпляр Tomcat. Вы можете повторно развернуть веб-приложение только в том случае, если все тесты прошли и так далее.

Я написал руководство по этому вопросу здесь http://macgyverdev.blogspot.se/2014/02/how-to-make-jenkins-install-packaged.html