Jenkins Continuous Deployment [с практическим примером]
Опубликовано: 2020-12-28Развертывание Jenkins — это ускоренный процесс комплексной автоматизированной разработки программного обеспечения. В этой статье рассказывается о том, как Jenkins интегрирует все процессы жизненного цикла разработки или этапы DevOps, такие как сборка, документирование, тестирование, упаковка, подготовка, развертывание, статический анализ и многие другие, практикуемые в нескольких организациях.
Сегодня многие организации внедряют DevOps в свои предложения. В жизненном цикле разработки программного обеспечения вы должны постоянно выпускать программное обеспечение как часть проекта.
Такие инструменты, как Jenkins, широко популярны благодаря своей способности обеспечивать непрерывную интеграцию и доставку приложений независимо от платформы. Jenkins — это бесплатный инструмент с одним исходным кодом, способный справиться с любой сборкой в деплоементе Jenkins , о чем пойдет речь в статье.
Jenkins можно интегрировать со многими технологиями тестирования и развертывания. В этой статье описывается, как Jenkins используется для непрерывной сборки и тестирования программных проектов.
Изучите онлайн-курс по разработке программного обеспечения от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Таким образом, прежде чем углубляться в то, как работает Jenkins, нам нужно понять следующие темы, которые являются основой для изучения Jenkins:

- Непрерывное развертывание
- Непрерывная доставка и непрерывное развертывание
- Практический пример развертывания Jenkins
- Преимущества развертывания Jenkins
Давайте посмотрим на них всех один за другим!
Оглавление
Непрерывное развертывание
При непрерывном развертывании программное обеспечение автоматически выпускается на рабочих серверах. Код проходит такие этапы, как компиляция исходного кода, проверка, проверка, упаковка приложения и выполнение модульного и интеграционного тестирования.
Затем код развертывается на тестовых серверах, когда выполняется приемочный тест пользователя. Программное обеспечение будет развернуто на рабочих серверах для выпуска программного обеспечения. Прочтите о непрерывной интеграции с jenkins.
Непрерывная доставка и непрерывное развертывание
Непрерывная доставка и непрерывное развертывание — это два важнейших этапа SDLC, на которых непрерывная доставка не развертывается в рабочей среде для каких-либо изменений. Разработчик должен гарантировать, что код всегда готов к развертыванию, и развертывать его по мере необходимости.
Кредит изображения
Непрерывное развертывание требует, чтобы каждое изменение развертывалось автоматически, без вмешательства человека.
На приведенной выше диаграмме после завершения этапов непрерывной интеграции созданное приложение автоматически развертывается на рабочих серверах, что представляет собой не что иное, как постоянное развертывание.
Или же, если нам требуется одобрение человека для развертывания новой версии для автоматизации всего, мы выполняем непрерывную поставку.
Из-за этого основного различия было несколько последствий, делающих каждый процесс подходящим для разных обстоятельств.
Дженкинс
Jenkins — это инструмент с открытым исходным кодом, который ускоряет процесс разработки программного обеспечения с помощью сервера автоматизации, используемого для непрерывной сборки и тестирования программных проектов, предоставляя разработчикам среду CI/CD. Он написан на Java, поэтому действительно переносим.
Jenkins имеет тысячи плагинов и интеграций. Следовательно, он подходит для крупных проектов, требующих большого количества настроек. Он поддерживает инструменты контроля версий, такие как Git, Maven, Mercurial и Subversion.
Практический пример развертывания Jenkins
Теперь, когда мы узнали, что представляет собой инструмент Jenkins и что его можно применять в процессе разработки программного обеспечения для непрерывного развертывания, давайте теперь посмотрим, как он работает в производственной среде.
Сначала Jenkins настраивается на сервере, а клиентский проект добавляется для сборки и тестирования. Затем клиент может загрузить приложение, прошедшее тестирование. Развертывание ресурсов проекта в новом месте на сервере может оказаться сложной задачей.

Для этого предварительно предположим, что на Jenkins настроен клиентский проект, привязанный к вашей системе контроля версий.
Шаг 1: Создание элемента Jenkins
В главном меню выберите «Новый элемент» и назовите его. Он экспортирует файлы из вашего клиентского проекта в папку сервера.
Шаг 2. Создание действия после сборки
Перейдите в клиентский проект и выберите настроить. Теперь создайте действие после сборки и выберите «Архивировать артефакты» в раскрывающемся меню. Добавьте типы файлов для архивации и экспорта.
После этого добавьте еще одно действие после сборки «Построить другой проект» и введите элемент сборки, созданный ранее.
Архив
Шаг 3: Установка плагина «Копировать артефакт»
На третьем этапе вы установите плагин Jenkins «Copy Artifact».
Перейдите к «Имя проекта» для настройки и добавления шага сборки. Поскольку плагин «Копировать артефакт» установлен, вы увидите опцию «копировать артефакты из другого проекта». Назначьте папку для копирования артефактов и укажите путь к местоположению.
Установите местоположение «var/www/clients/..». Это создаст новую папку на сервере. Укажите путь с HTTP-адресом (!).
Сохранение проекта
Шаг 4: Проведение тестирования
После основных этапов пришло время протестировать приложение.
Для этого задайте сборку из клиентского проекта. Это вызовет новую сборку. Проверьте папку развертывания на сервере. Здесь вы увидите развернутые файлы.
Но, даже после всех действий, сборка не удалась и вы получили ошибку FileException.
Почему?
Возможными причинами могут быть:
- Дженкинс не имеет прав на запись в папку и не может развернуть файлы.
- Свяжите SSH с сервером.
- Проверьте разрешения выходной папки.
- Вы знаете, мы столкнулись с проблемой.
Выполните следующие шаги, чтобы решить эту проблему:
- Добавьте Дженкинса в группу, здесь группа «www-data».
- Изменение владельца выходной папки на группу «www-data» с помощью команды sudo chown — R : клиенты «www — data».
- Разрешите доступ на запись в папку с помощью команды sudo chmod .
- Перезапустите сервер и посмотрите, как развернуто приложение.
Какие преимущества предлагает Дженкинс?
- Jenkins — это инструмент с открытым исходным кодом, обеспечивающий отличную поддержку сообщества.
- Дженкинс относительно прост в установке.
- У Jenkins более 1000 плагинов. Если плагин недоступен, вы можете легко его запрограммировать.
- Дженкинс бесплатен.
- Дженкинс построен на Java; следовательно, переносим на все основные платформы.
Читайте также: Идеи и темы проекта Jenkins

Последние слова
Jenkins — это надежный написанный на Java инструмент автоматизации, который широко используется для непрерывной интеграции. С Jenkins проще создавать и постоянно тестировать программные проекты с тем, что написано. Это идеальный инструмент для постоянной доставки вашего программного обеспечения за счет интеграции с большим количеством технологий тестирования и развертывания.
Обучение разработке программного обеспечения — DevOps с upGrad
upGrad предлагает программу Executive PG в разработке программного обеспечения — специализацию в DevOps, в которой вы научитесь предоставлять приложения и услуги с очень высокой скоростью в организации. Преподаватели в upGrad научат вас всем тонкостям DevOps и объяснят, почему его изучение сделает вашу карьеру прибыльной.
Диплом PG upGrad по специализации разработки программного обеспечения в программе DevOps Основные моменты:
Этот расширенный 12-месячный онлайн-курс предлагает следующие функции:
- Познавательные онлайн-сессии с живыми лекциями
- Бесплатный доступ к ценному контенту по науке о данных и машинному обучению
- Работа над 7+ живыми проектами и заданиями
- Изучение десяти языков программирования и инструментов
- Гарантия размещения
- Карьерная поддержка 360° с помощью в трудоустройстве