2017-02-04 1 views
1

Я начинаю DevOps, экспериментируя над сервером AWS, чтобы узнать.REST API/любое другое решение: Разверните артефакт на сервере приложений из Artifactory через Jenkins

Я создал работу в Jenkins, которая запускается всякий раз, когда любой новый толчок приходит к моему GITHUB, Maven строит код из GITHUB и архивирует WAR-файл в Artifactory.

Теперь я хочу сделать следующий шаг, в котором артефакт сборки будет взят из Artifacotry и должен быть развернут на моем сервере приложений.

Я ищу решение и не могу найти никаких хороших объяснений по этому вопросу.

Может ли кто-нибудь поделиться шагами/решением для этого?

Заранее благодарен!

+0

Как запускается ваш сервер приложений? Он работает на том же сервере, что и jenkins? – RejeeshChandran

+0

Нет, он будет развернут на другом сервере (Jenkins Node). – Jvipul

ответ

0

Создайте новую работу jenkins, сообщите job1_deployApp, чтобы развернуть свой сервер приложений. Настройте это задание как нисходящее задание другого задания, из которого вы хотите скопировать артефакты сборки, например, job2_build.

Настройте archive artifacts в job2_build, чтобы архивировать необходимые артефакты сборки. Поэтому, как только эта работа закончится, она запустит job1_deployApp.

Настроить job1_deployApp на copy artifacts от job2_build. Он скопирует все артефакты, которые были заархивированы в `job2_build. Следовательно, вы получите необходимые артефакты для развертывания вашего сервера приложений.

+0

Спасибо Раджишу за ответ! Как я уже установил свою работу по сборке и сохранению артефакта на artifactory, теперь мне нужно сделать следующее: 1) Добавить сервер развертывания в качестве узла/подчиненного в Jenkins 2) Создайте задание для копирования артефакта из Artifacotry и его развертывания подчиненный сервер. Здесь я смотрю шаги, чтобы сделать точку 2. Надеюсь, это разъяснит больше. – Jvipul

3

Самый простой способ добиться этого - создать дополнительную работу Jenkins, которая отвечает за загрузку артефактов конкретной сборки из Artifactory и развертывание их на вашем сервере приложений. Я рекомендую использовать DSL для Pipeline DSL для Artifactory или Free-Style с интеграцией Generic Artifactory, поскольку они включают в себя удобное определение JSON File Spec, которое позволяет вам фильтровать артефакты, которые вы хотите загрузить, на основе конкретной сборки или даже последняя сборка опубликована. После того, как задание загрузило артефакты в рабочее пространство задания, необходимо скопировать их на ваш сервер приложений. Есть много способов сделать это. Вы можете использовать инструмент развертывания, например Ansible, для толкания (копирования) артефактов из рабочей области на ваши серверы.

Смежные вопросы