Сборка бинарных файлов только один раз является очень важным принципом непрерывного развертывания (CD). Тем не менее, этот блог поможет вам создать и развернуть двоичные файлы в Nexus с вашей машины для разработки. Это хорошо в качестве начального шага, когда все локально хранится на вашем ноутбуке, и вы просто тестируете настройку, чтобы выяснить, как все работает. Но каждый в команде, имеющий локальный репозиторий Nexus, не поддается цели «общего репозитория». Это также против непрерывной интеграции (CI), где исходный код, зафиксированный различными членами команды, извлечен и построен на сервере CI. И CI является фундаментальным требованием для непрерывного развертывания. Как вы это настроите тогда?
Вы используете CI-сервер для передачи двоичных файлов в Nexus.
Существует множество серверов CI как с открытым исходным кодом, так и с коммерческим диапазоном. Jenkins, Travis, CruiseControl и Go являются одними из самых популярных в стране с открытым исходным кодом. Все они также имеют коммерческое издание. Bamboo и AnthillPro являются парой популярных коммерческих предложений. В этом блоге будет использоваться самый простой, самый популярный и самый простой в использовании сервер CI Jenkins .
Общий поток показан на диаграмме и объяснен после этого.
Поток это:
- Разработчики помещают код изнутри брандмауэра в GitHub
- Дженкинс опрашивает GitHub для обновления кода
- Создайте двоичные файлы и отправьте артефакты в Nexus (внутри брандмауэра)
Этот технический совет покажет, как начать работу с Jenkins и передать двоичные файлы в Nexus, опросив рабочее пространство GitHub. Хотя опрос неэффективен , он может быть единственным и, вероятно, упрощенным выбором.
В этой настройке Jenkins и Nexus настроены внутри вашего брандмауэра. Это более распространенный сценарий, поскольку, по крайней мере, Nexus обычно находится внутри брандмауэра. Однако Jenkins может быть настроен за пределами брандмауэра, и в этом случае он сможет архивировать артефакты, но не может напрямую передавать их в Nexus. В этом случае для связи Jenkins и Nexus необходимо настроить прокси.
Давайте начнем!
Загрузите и запустите Jenkins Server
Всю информацию о Дженкинсе можно найти на сайте jenkins-ci.org .
- Загрузите последний файл WAR :
12345
tools> curl -O -L http://mirrors.jenkins-ci.org/war/latest/jenkins.war% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0328000000--:--:-- --:--:-- --:--:--010065.3M10065.3M00298k00:03:440:03:44--:--:-- 534kОбщее время загрузки зависит от скорости вашей сети.
- Начните Дженкинс как
1
java -jar jenkins.warЗапуск и доступ к Jenkins предоставляют более подробную информацию о запуске Jenkins и различных параметрах конфигурации.
- После запуска Jenkins к нему можно получить доступ по адресу localhost: 8080 и отобразить как:
Установить плагин Git
По умолчанию Jenkins не имеет возможности обрабатывать рабочее пространство Git. Надеюсь, это будет исправлено в следующем выпуске из-за INFRA-253 . А пока давайте установим плагин Git.
- Нажмите на «Управление Jenkins», «Управление плагинами»
- Нажмите на вкладку «Доступно», выберите «GIT Plugin» и нажмите «Установить без перезагрузки»
- Нажмите «Перезапустить Дженкинс…», чтобы перезапустить Дженкинс.
Создать работу Дженкинс
- Настройте Maven в настройке системы, как описано здесь
- Создайте новую работу Jenkins, перейдя на localhost: 8080 / newJob
- Выберите «Maven project» и дайте имя, как показано:
- В разделе «Управление исходным кодом» выберите «Git» и укажите репозиторий «https://github.com/javaee-samples/javaee7-simple-sample», как показано ниже:
- В «Построить триггеры» выберите «Опрос SCM» и укажите расписание опроса репо каждые 5 минут как «H / 5 * * * *»:
- В «Build» укажите цель «deploy», как показано:
Развернуть SNAPSHOT на Nexus
После того, как настройка завершена, развертывание на Nexus — это просто щелчок или опрос.
- Нажмите на Build Now, чтобы построить работу
- Консольный вывод для первого задания покажет что-то вроде:
1234
[JENKINS] Archiving /Users/arungupta/.jenkins/jobs/Java EE7Simple Sample/workspace/pom.xml to org.javaee7.sample/javaee7-simple-sample/1.10-SNAPSHOT/javaee7-simple-sample-1.10-SNAPSHOT.pom[JENKINS] Archiving /Users/arungupta/.jenkins/jobs/Java EE7Simple Sample/workspace/target/javaee7-simple-sample-1.10-SNAPSHOT.war to org.javaee7.sample/javaee7-simple-sample/1.10-20150305.202625-8/javaee7-simple-sample-1.10-20150305.202625-8.warchannel stoppedFinished: SUCCESS - Git Polling Log покажет последний опрос вашей рабочей области. Если после последнего задания в рабочей области есть какие-либо коммиты, то будет запущено новое задание.
В этом блоге было показано, как перенести двоичные файлы из Jenkins в Nexus с помощью Git Polling.
Наслаждайтесь!
| Ссылка: | Дженкинс в Nexus с Git Polling от нашего партнера по JCG Аруна Гупта в Miles to go 2.0… блог. |







