Три способа поднять Jenkins CI для ваших автотестов
Заметка, в которой я решил поделиться знаниями в организации CI для автотестов. Такая задача возникает практически на каждом проекте, так как автоматизация без CI сервера - это как хлеб без масла. Я уже писал про Travis CI, теперь посмотрим на Jenkins.
Основным источником информации относительно Jenkins является официальный сайт jenkins-ci.org.
Я покажу три способа запуска Jenkins CI и дам определенные советы и пояснения относительно каждого способа. Для тех же, кто не знаком с CI процессом и Jenkins, советую посмотреть видео.
Итак, начнем с самого простого.
Способ 1: Запустить Jenkins war в консоли
Самый простой и банальный способ - скачать jenkins.war и запустить его, как простое java приложение. Для этого нужно открыть консоль cmd Windows или terminal Unix и набрать команду:
java -jar jenkins.war
После того как выполните данную команду в вашей системе запустится jetty сервер; если в вашей консоли появилась надпись типа jenkins is fully configured and running, значит вы смело можете открывать браузер и по стандартному пути
http://localhost:8080
у вас появится главная страница Jenkins.
Комментарий
:
Данный способ является самым простым и самым ненадежным. Ни в коем случае не используйте его в production. Если вы закроете консоль, то ваш CI сервер свалится, информация о созданных job и установленные плагины сохранятся, вы сможете зайти на хост и снова запустить сервер таким способом, но вот захотите ли вы это делать часто - это вопрос. Данный способ больше подходит для демонстрационных случаев, либо как временная мера.
Способ 2: Запустить Jenkins на Tomcat
Самый распространенный и надежный способ - настроить Tomcat сервер и запустить Jenkins как стандартное web приложение.
Скачиваем Tomcat 7 и распаковываем его в удобное для вас место. Если у вас Windows - это скорее будет корень раздела C. Проще всего сделать TOMCAT_HOME в глобальных переменных, дабы иметь доступ к Tomcat в консоли.
После того, как вы скачали Tomcat, нужно скопировать скачанный jenkins.war по пути:
${TOMCAT_HOME}/webapps/
Затем перейти в папку ${TOMCAT_HOME}/bin
В этой папке вам нужно найти скрипт под названием catalina.bat либо catalina.sh. Далее нужно запустить этот скрипт. Для Unix это выглядит так:
${TOMCAT_HOME}/bin/catalina.sh start
После этого вы увидите в консоли вывод типа:
bin ➤ sh catalina.sh start
Using CATALINA_BASE: /home/sergey/Downloads/apache-tomcat-7.0.65
Using CATALINA_HOME: /home/sergey/Downloads/apache-tomcat-7.0.65
Using CATALINA_TMPDIR: /home/sergey/Downloads/apache-tomcat-7.0.65/temp
Using JRE_HOME: /usr/lib/jvm/java-8-oracle
Using CLASSPATH: /home/sergey/Downloads/apache-tomcat-7.0.65/bin/bootstrap.jar:/home/sergey/Downloads/apache-tomcat-7.0.65/bin/tomcat-juli.jar
Tomcat started.
Теперь можете смело открывать в браузере
http://localhost:8080/jenkins
Если вы делаете это в первый раз, то, возможно, придется немного подождать перед тем, как Jenkins станет доступен. Обычно это занимает меньше минуты.
Комментарий
:
Как я уже говорил, это самый распространенный способ и самый надежный. Большинство java web приложений работает на Tomcat. К тому же, в случае какого-либо падения вы сможете посмотреть лог файл Tomcat и разобраться, в чем же дело. В своей практике мне приходилось разбираться один раз, да и то Tomcat упал только из-за того, что закончилось место на диске.
Способ 3: Использовать Docker контейнер
Docker, ну куда же без него! Сейчас контейнеры набирают огромную популярность. Могу смело заявить, что в какой-то степени - это тренд. Если вы не знакомы с этой технологией, настоятельно рекомендую почитать и посмотреть на этого "зверька".
Для запуска докер контейнера у вас на компьютере должен быть предустановлен Docker. Установку смотреть здесь.
Теперь можем спокойно запускать наш контейнер.
docker run -p 8080:8080 jenkins
В результате выполнения этой команды Docker скачает контейнер и запустит его. Внутри контейнера находится Tomcat с предустановленным Jenkins CI. Вот и все, с Docker эта процедура выглядит очень просто.
Комментарий
:
Данный способ мало в чем уступает способу с Tomcat, так как внутри контейнера находится такой же Tomcat сервер. Единственный недостаток - это то, что при падении или остановке вашего контейнера вы потеряете всю информацию. Чтобы избежать таких печальных последствий, советую детально почитать документ и запускать контейнер такой вот командой:
docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins
Таким образом все содержимое папки jenkins_home будет сохранено на вашей host машине и потери данных не произойдет.
На этом у меня все, подписывайтесь на блог в социальных сетях и через имейл. В следующий раз я покажу как подключать и настраивать слейвы к Jenkins CI. До встреч!..