Статьи

Дженкинс в Нексус с Git Polling

Сборка бинарных файлов только один раз является очень важным принципом непрерывного развертывания (CD). Тем не менее, этот блог поможет вам создать и развернуть двоичные файлы в Nexus с вашей машины для разработки. Это хорошо в качестве начального шага, когда все локально хранится на вашем ноутбуке, и вы просто тестируете настройку, чтобы выяснить, как все работает. Но каждый в команде, имеющий локальный репозиторий Nexus, не поддается цели «общего репозитория». Это также против непрерывной интеграции (CI), где исходный код, зафиксированный различными членами команды, извлечен и построен на сервере CI. И CI является фундаментальным требованием для непрерывного развертывания. Как вы это настроите тогда?

Вы используете CI-сервер для передачи двоичных файлов в Nexus.

Существует множество серверов CI как с открытым исходным кодом, так и с коммерческим диапазоном. Jenkins, Travis, CruiseControl и Go являются одними из самых популярных в стране с открытым исходным кодом. Все они также имеют коммерческое издание. Bamboo и AnthillPro являются парой популярных коммерческих предложений. В этом блоге будет использоваться самый простой, самый популярный и самый простой в использовании сервер CI Jenkins .

Общий поток показан на диаграмме и объяснен после этого.

techtip75-установки

Поток это:

  • Разработчики помещают код изнутри брандмауэра в GitHub
  • Дженкинс опрашивает GitHub для обновления кода
  • Создайте двоичные файлы и отправьте артефакты в Nexus (внутри брандмауэра)

Этот технический совет покажет, как начать работу с Jenkins и передать двоичные файлы в Nexus, опросив рабочее пространство GitHub. Хотя опрос неэффективен , он может быть единственным и, вероятно, упрощенным выбором.

В этой настройке Jenkins и Nexus настроены внутри вашего брандмауэра. Это более распространенный сценарий, поскольку, по крайней мере, Nexus обычно находится внутри брандмауэра. Однако Jenkins может быть настроен за пределами брандмауэра, и в этом случае он сможет архивировать артефакты, но не может напрямую передавать их в Nexus. В этом случае для связи Jenkins и Nexus необходимо настроить прокси.

Давайте начнем!

Загрузите и запустите Jenkins Server

Всю информацию о Дженкинсе можно найти на сайте jenkins-ci.org .

  1. Загрузите последний файл WAR :
    1
    2
    3
    4
    5
    tools> curl -O -L http://mirrors.jenkins-ci.org/war/latest/jenkins.war
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0   328    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    100 65.3M  100 65.3M    0     0   298k      0  0:03:44  0:03:44 --:--:--  534k

    Общее время загрузки зависит от скорости вашей сети.

  2. Начните Дженкинс как
    1
    java -jar jenkins.war

    Запуск и доступ к Jenkins предоставляют более подробную информацию о запуске Jenkins и различных параметрах конфигурации.

  3. После запуска Jenkins к нему можно получить доступ по адресу localhost: 8080 и отобразить как:

    techtip75-умолчанию-Дженкинса

Установить плагин Git

По умолчанию Jenkins не имеет возможности обрабатывать рабочее пространство Git. Надеюсь, это будет исправлено в следующем выпуске из-за INFRA-253 . А пока давайте установим плагин Git.

  1. Нажмите на «Управление Jenkins», «Управление плагинами»
  2. Нажмите на вкладку «Доступно», выберите «GIT Plugin» и нажмите «Установить без перезагрузки»

    techtip75-gitplugin установка

  3. Нажмите «Перезапустить Дженкинс…», чтобы перезапустить Дженкинс.

Создать работу Дженкинс

  1. Настройте Maven в настройке системы, как описано здесь
  2. Создайте новую работу Jenkins, перейдя на localhost: 8080 / newJob
  3. Выберите «Maven project» и дайте имя, как показано:

    techtip75-Дженкинс-новая работа
    Нажмите «ОК».

  4. В разделе «Управление исходным кодом» выберите «Git» и укажите репозиторий «https://github.com/javaee-samples/javaee7-simple-sample», как показано ниже:

    techtip75-GitHub репо

  5. В «Построить триггеры» выберите «Опрос SCM» и укажите расписание опроса репо каждые 5 минут как «H / 5 * * * *»:

    techtip75-избирательные графики

  6. В «Build» укажите цель «deploy», как показано:

    techtip75-Дженкинса-сборки

Развернуть SNAPSHOT на Nexus

После того, как настройка завершена, развертывание на Nexus — это просто щелчок или опрос.

  1. Нажмите на Build Now, чтобы построить работу

    techtip75-Дженкинса-сборка-работа

  2. Консольный вывод для первого задания покажет что-то вроде:
    1
    2
    3
    4
    [JENKINS] Archiving /Users/arungupta/.jenkins/jobs/Java EE 7 Simple 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 EE 7 Simple 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.war
    channel stopped
    Finished: SUCCESS
  3. Git Polling Log покажет последний опрос вашей рабочей области. Если после последнего задания в рабочей области есть какие-либо коммиты, то будет запущено новое задание.

В этом блоге было показано, как перенести двоичные файлы из Jenkins в Nexus с помощью Git Polling.

Наслаждайтесь!

Ссылка: Дженкинс в Nexus с Git Polling от нашего партнера по JCG Аруна Гупта в Miles to go 2.0… блог.