Меню Рубрики

Jenkins установка и настройка windows

Jenkins для начинающих.

В прошлых заметках уже немного упоминал о том, что начал потихоньку разбираться с вопросами CI∕CD. Чтобы закрепить у себя и попутно нанести пользу моим 59 подписчикам решил запилить небольшую серию постов по этим экспериментам. Самые основы со скриншотами.

Для начала минимум терминологии, CI∕CD включает в себя 2 понятия:

  • Continuous integration (непрерывная интеграция) — подход при котором ПО раз в определенное время или после каждого коммита (обычно подразумевается одобренный коммит в мастер или dev) компилируется, тестируется и, если успешно прошло тесты, собирается в новую версию.
  • Continuous deployment (непрерывное развертывание) — подход при котором новый пакет приложения (или новые образы докера и т.д.) автоматически отправляются на боевой сервер и развертываются незаметно для пользователя.

Как понятно из описания, это по большей части концепции и подходы. Их исполнение можно обеспечить множеством инструментов. Мы будем говорить преимущественно о Jenkins, но также заденем тестирование и bash скрипты.

Jenkins — программная система с открытым кодом на Java, которая как раз позволяет наладить непрерывную интеграцию и развертывание вашего проекта.

В этой части установим Jenkins и «подружим» с github, а уже в следующей накидаем наноприложение с тестами и напишем jenkins pipeline.

Установка Jenkins

Поскольку сам jenkins написан на Java, и в пайплайнах частично использует её синтаксис, перед установкой необходимо поставить openjdk-8-jdk.

После этого добавляем Jenkins репозиторий и устанавливаем само приложение.

$ sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’

Проверить статус установленного сервиса можно так:

Если приложение активно, вы должны будете увидеть что-то подобное:

После этого заходим в браузере на localhost:8080 и видим стартовую страницу настройки:

$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Получаем пароль для запуска -> устанавливаем необходимые плагины (можно просто выбрать установку по умолчанию) -> создаем профиль (для теста можно просто продолжить как админ.) -> Та-дааа! Можно создавать первый пайплайн.

Поскольку это тестовый запуск «на поиграться», можно отключить авторизацию с помощью пароля.

-> открываем файл /var/lib/jenkins/config.xml
-> меняем ` true ` на false
-> в браузере прописываем localhost:8080/restart (или другую ссылку /restart, если вы меняли url при установке)

Настраиваем права доступа

Linux
Генерируем пару ssh ключей (чуть более подробно о генерации ключей писал здесь ).

В левом верхнем меню переходим во вкладку `credentials`

Источник

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu 16.04

Jenkins является одним из популярных инструментов, позволяющий реализовывать подход непрерывной интеграции (Continuous Integration, CI) и непрерывной поставки (Continuous Delivery, CD) программного обеспечения.

CI существенно облегчает интеграцию разрозненных копии проекта с основной ветвью разработки, позволяет настраивать автоматическую сборку проекта и запускать тесты.

CD обеспечивает в автоматическом режиме поставку и развертывание результатов сборки на целевых серверах.

В этой статье мы рассмотрим, как установить Jenkins, и на примере веб-приложения на Java покажем, как автоматизировать процесс сборки и поставки его на веб-сервер Jetty.

Исходный код веб-приложения лежит в git-репозитории, а в качестве инструмента сборки используется Maven.

Требования

  • Сервер Ubuntu 16.04 x64 (мы использовали следующую конфигурацию: Ubuntu 16.04 64 bit RAM 512Mb и SSD 20 Гб);
  • Пользователь с root-правами.

Шаг 1. Установка Jenkins

Заходим под root-пользователем и выполняем в командной строке Ubuntu следующие команды:

После установки система автоматически запустит сервис Jenkins. Проверяем его статус с помощью команды:

Как видим, сервис запущен и находиться в активном статусе. Если сервис неактивен, то необходимо проверить, свободен ли порт 8080 и хватает оперативной памяти (Jenkins требует от 256MB до 1GB).

Шаг 2. Установка Git

Проверяем установленную версию:

Шаг 3. Установка Maven

Для работы Maven нам понадобится установить JDK:

По завершении установки выполняем проверку:

Устанавливаем сам Maven:

Проверяем успешность установки:

Здесь необходимо запомнить значение Maven home. В нашем случае это /usr/share/maven. Этот путь будет нужен в дальнейшем для настройки Jenkins.

Шаг 4. Настройка Jenkins

Все необходимые установки сделаны, и можно перейти к настройке Jenkins.

Управление Jenkins осуществляется через веб-интерфейс, по умолчанию доступный на порту 8080:

Открываем в браузере страницу http://[IP-адрес сервера]:8080:

Если интерфейс не появился, то необходимо открыть порт 8080 и проверить статус работы сервиса Jenkins.

Для продолжения настройки нам потребуется ввести пароль администратора, который хранится в файл /var/lib/jenkins/secrets/initialAdminPassword.

Возвращаемся в командную строку Ubuntu и открываем его с помощью встроенного редактора vi:

Копируем пароль и выходим из файла с помощью команду

Скопированный пароль вставляем в поле ввода и нажимаем «Продолжить».

На следующем шаге нам необходимо выбрать режим установки плагинов, которые будут установленные вместе с Jenkins. Выбираем Install suggested plugins:

После установки всех плагинов создаём профиль администратора:

Имя пользователя и пароль запоминаем для дальнейшей работы.

Нажимаем «Продолжить». На экране появится сообщение, свидетельствующее о готовности Jenkins к работе:

На этом основная настройка закончена. Нажимаем на кнопку “Start using Jenkins” и переходим в рабочую панель Jenkins.

Шаг 5. Настройка Maven в Jenkins

Jenkins не всегда распознает установленный в системе Maven, поэтому его нужно указать вручную.

Выбираем “Настроить Jenkins” в левом меню:

Переходим к “Global Tool Configuration”

В появившемся окне ищем раздел Maven и нажимаем на кнопку «Добавить». Открываются поля для ввода:

Вводим произвольное имя и путь до установочной папки Maven home, полученный нами на 3-ем шаге во время проверки версии. Снимаем флажок Install automatically и сохраняем.

Чтобы изменения вступили в силу, перезапускаем Jenkins:

Шаг 6. Создание автоматической сборки

После перезагрузки открываем снова веб-интерфейс Jenkins и заходим под учётной записью администратора, которую мы создавали на этапе настройки:

В появившемся окне нажимаем на ссылку “Создайте новую задачу”

Вводим название проекта, выбираем “Создать задачу со свободной конфигурацией” и нажимаем “OК” внизу страницы.

На вкладке General находим раздел “Управление исходным кодом” и выбираем Git. Система предлагает ввести нам URL Git репозитория. Вводим его:

Если репозиторий приватный, то система выдаст ошибку о том, что нет доступ к репозиторию.

Добавляем логин и пароль в подразделе Credentials. Выбираем из выпадающего списка “Jenkins”:

В появившемся окне вводим Username и Password:

Добавляем и выбираем из выпадающего списка созданные credentials:

Ошибка доступа больше не выводится:

После того, как мы указали репозиторий из которого необходимо получать исходный код, переходим к настройки сборки.

Находим раздел “Сборка”, нажимаем “Добавить шаг сборки” и выбираем из выпадающего списка “Вызвать цели Maven верхнего уровня”

Вставляем в поле “Цели” команды для сборки maven-проекта.

Результат сборки будет сохраняться в папке /var/lib/jenkins/workspace/Lolipop/target/, где Lolipop — название нашего проекта. В данном примере результатом сборки будет готовый к развертыванию war-файл.

В качестве примера рассмотрим, каким образом автоматизировать процесс развертывания war-файла на веб-сервер Jetty, который работает на этой же машине.

О Jetty и его установке можно более подробно прочитать здесь.

Добавим еще один шаг сборки, который будет копировать war файл в папку webapps Jetty и перезапускать его. На этот раз выбираем из выпадающего списка “Выполнить команду shell”.

На этом настройка сборки закончена, нажимаем «Сохранить» и переходим к запуску.

Шаг 7. Запуск сборки

Для запуска сборки в меню выбираем “Собрать сейчас”. После этого в левом нижнем углу в разделе “История сборок” появится индикатор процесса сборки с датой и временем запуска:

Во время сборки Jetty будет выполнять последовательно следующие задачи:

  1. Загрузка из Git репозитория последней версии исходного кода проекта
  2. Запуск сборки загруженного Maven проекта
  3. Размещение результатов сборки в папке workspace
  4. Копирование war файла в папку webapps веб-сервера Jetty
  5. Перезапуск Jetty

Если сборка завершилась с ошибкой, то маркер будет красного цвета, а если успешно, то синего.

Нажав на номер сборки и перейдя в левом меню в раздел Console Output, можно отследить отладочный вывод сборки:

Автоматическая сборка и доставка на веб-сервер настроена. Теперь мы можем запускать её в нужный момент с помощью кнопки “Собрать сейчас”. Если у вас несколько серверов выкладки с разными конфигурациями, вы можете настроить сборку под каждую выкладку.

Шаг 8. Как изменить порт подключения Jenkins

В ряде случаев порт 8080 занят или его необходимо освободить под другие сервисы. В рассмотренном примере Jetty по умолчанию запускается на порту 8080.

Чтобы Jenkins подключался к другому порту, в файле etc/default/jenkins нужно изменить значение переменной HTTP_PORT на желаемый порт и перезапустить сервис Jenkins.

Заключение

Jenkins поддерживает технологии для работы с разными системами контроля версий, включая Git, CVS, Subversion, Clearcase и Mercurial, может собирать проекты на Ant, Maven и Gradle, а также исполнять команды Windows, shell-скрипты и отправлять уведомления о состоянии сборки в автоматическом режиме.

Благодаря такому разнообразному инструментарию Jenkins можно применять на проектах с разными технологиями и любой сложности.

Jenkins также поддерживает триггеры сборки, которые могут вызывать сборку по определённому расписанию или событию.

Все эти преимущества делают Jenkins незаменимым инструментом при построении процесса разработки.

Источник

Руководство по Jenkins

В руководстве мы расскажем, зачем нужен Jenkins, а также покажем, как установить Jenkins на Ubuntu.

Jenkins — это сервис, с помощью которого можно автоматизировать процесс непрерывной интеграции программного обеспечения. Непрерывная интеграция (Continuous Integration) — один из этапов разработки, на котором происходит сборка рабочих копий проекта в единый макет-черновик, их тестирование, доставка или развёртывание программного обеспечения. Во время интеграции можно выявить слабые места и возможные ошибки в проекте и сразу их исправить.

На этапе интеграции разработчики объединяют код вручную, что занимает много времени. Jenkins позволяет автоматизировать этот этап. Сервис подойдёт как для профессионалов, так и для начинающих специалистов.

  • имеет открытый исходный код, написанный на Java;
  • поддерживает свыше 1000 плагинов для интеграции с инструментами тестирования, разработки и деплоя;
  • работает больше чем в двух средах одновременно без потери эффективности;
  • Jenkins хорошо подойдёт для проектов, которые написаны на Python;
  • оптимизирует рабочий процесс: вам не нужно нанимать штат профессиональных программистов, в Jenkins можно разобраться даже без специальной подготовки;
  • выявляет и устраняет нестандартные ошибки без привлечения человека;
  • минимизирует количество ошибок, возникающих в связи с человеческим фактором.

Jenkins можно установить на Windows, macOS, Debian, Ubuntu, CentOS и другие операционные системы. Также Jenkins можно установить через системные пакеты, Docker или запустить автономно на любом компьютере с настроенной Java Runtime Environment (JRE).

Jenkins можно установить с официального сайта одним из двух способов: скачать из раздела «Download» или использовать команды из раздела «Documentation». Для Jenkins документация на русском не разработана, однако именно в этом разделе можно найти рекомендации для быстрой установки. Поэтому установим Jenkins на Ubuntu версий 16.04/18.04/20.04 вторым способом.

Как установить Jenkins

Для Jenkins системные требования следующие:

  • 256 Мб оперативной памяти,
  • минимум 1 Гб дискового пространства при установке на ОС и 10 Гб при запуске в качестве контейнера Docker.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Jenkins выполнить команду windows
  • Jenkins slave под windows 7 как сервис
  • Jenkins execute windows batch command
  • Jdk не устанавливается на windows 10
  • Jdk 8u45 windows x64 exe