Дженкинс – это сервер автоматизации, сфорканный из проекта Хадсон.
Jenkins – это серверное приложение, работающее в контейнере Java, оно поддерживает множество программных систем SCM (Source Control Management), включая Git, SVN и Mercurial. Jenkins предоставляет сотни плагинов для автоматизации вашего проекта.
Дженкинс, созданный Kohsuke Kawaguchi, впервые выпущенный в 2011 году под лицензией MIT, и это бесплатное программное обеспечение.
В этом уроке я покажу вам, как установить последнюю стабильную версию Jenkins на Ubuntu Server 18.04 LTS (Bionic Beaver).
Мы запустим Jenkins на нашем собственном доменном имени, и мы установим и настроим Jenkins для запуска под обратным прокси-сервером Apache.
Предпосылки
- Ubuntu 18.04
- Привилегии root
Что мы будем делать
- Установим Java
- Установим Jenkins
- Установим и настроим Apache2 как обратный прокси для Jenkins
- Настройка брандмауэра UFW
- Настроим Jenkins
- Безопасность Jenkins
- Тестирование
Шаг 1 – Установка Java
Jenkins – это Java-приложение, поэтому нам нужно установить Java OpenJDK на сервер.
На этом этапе мы установим Java 8 из репозитория PPA, который мы добавим.
sudo apt install software-properties-common apt-transport-https -y sudo add-apt-repository ppa:openjdk-r/ppa -y
Теперь установите Java 8 с помощью команды apt.
sudo apt install openjdk-8-jdk -y
Когда установка завершена, проверьте версию java, установленную в системе.
java -version
И вы получите Java OpenJDK 1.8 теперь установлен на системе Ubuntu 18.04.
Если в вашей системе несколько версий java, измените версию java по умолчанию, используя приведенную ниже команду:
sudo update-alternatives --config java
Шаг 2 – Установка Jenkins
jenkins предоставляется в репозитории Ubuntu для инсталляционных пакетов, и мы будем устанавливать Jenkins из этого репозитория.
Добавьте ключ и репозиторий Jenkins в систему с помощью следующей команды
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list
Теперь обновите репозиторий и установите Jenkins.
sudo apt update sudo apt install jenkins -y
По завершении установки запустите службу Jenkins и добавьте ее во время загрузки.
systemctl start jenkins systemctl enable jenkins
Jenkins теперь работает и запущен на сервере Ubuntu 18.04, работая на порту 8080 по умолчанию.
Проверьте это, используя netstat, как показано ниже.
netstat -plntu
Шаг 3 – Установка и настройка Apache2 как обратный прокси для Jenkins
В этом уроке мы запустим Jenkins за веб-сервером Apache, мы настроим apache как обратный прокси для Jenkins.
Сначала мы установим Apache и включим некоторые требуемые модули, а затем создадим файл виртуального хоста с именем домена jenkins.hakase-labs.io для Jenkins.
Пожалуйста, используйте свое собственное доменное имя здесь и замените его во всех конфигурационных файлах везде, где оно появляется.
Установите веб-сервер apache2 из репозитория Ubuntu.
sudo apt install apache2 -y
По завершении установки включите модули proxy и proxy_http, чтобы мы могли настроить apache как frontend server / reverse proxy для Jenkins.
a2enmod proxy a2enmod proxy_http
Затем создайте новый файл виртуального хоста для Jenkins в каталоге, доступном для сайтов.
cd /etc/apache2/sites-available/ vim jenkins.conf
Вставьте конфигурацию виртуального хоста:
<Virtualhost *:80> ServerName jenkins.hakase-labs.io ProxyRequests Off ProxyPreserveHost On AllowEncodedSlashes NoDecode <Proxy http://localhost:8080/*> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8080/ nocanon ProxyPassReverse / http://localhost:8080/ ProxyPassReverse / http://jenkins.hakase-labs.io/ </Virtualhost>
Сохраните и выйдите, затем активируйте виртуальный хост Jenkins с помощью команды a2ensite.
a2ensite jenkins
Перезапустите службы Apache и Jenkins.
systemctl restart apache2 systemctl restart jenkins
На это завершена установка и настройка apache2 в качестве обратного прокси для Jenkins.
Шаг 4 – Настройка брандмауэра UFW
Прежде чем включить брандмауэр UFW на сервере Ubuntu, нам нужно добавить базовые порты служб, таких как SSH, HTTP и HTTPS.
Добавьте службы SSH, HTTP и HTTPS в брандмауэр ufw.
ufw allow ssh ufw allow http ufw allow https
Теперь запустите и включите брандмауэр ufw.
ufw enable
введите ‘y’ и нажмите Enter.
Теперь включен наш брандмауэр UFW, и добавлен порт HTTP.
Шаг 5 – Настройка Jenkins
Дженкинс работает на доменном имени «http://jenkins.hakase-labs.io».
Откройте веб-браузер и введите URL-адрес.
Появится экран, в котором вам будет предложено ввести начальный пароль администратора.
Пароль уже создан Jenkins, поэтому нам просто нужно показать и скопировать результаты в окно пароля.
Показать начальный пароль администратора Jenkins с командой cat.
cat /var/lib/jenkins/secrets/initialAdminPassword
Вставьте результаты на экран и нажмите «Continue».
Теперь мы должны установить некоторые плагины в Jenkins, чтобы получить хорошую основу для дальнейшего использования.
Выберите «Install Suggested Plugins», нажмите на него.
Плагины подключаемых модулей Jenkins устанавливаются
После завершения установки плагинов нам необходимо создать новый пароль администратора.
Введите свое имя пользователя, пароль, электронную почту и т. д.
И нажмите «Save and Continue».
Для конфигурации введите имя домена Jenkins «http://jenkins.hakase-labs.io» и нажмите кнопку «Save and Finish».
Теперь нажмите ‘Start using Jenkins’
И вы будете перенаправлены на панель управления администратора Jenkins.
Установка и настройка Jenkins успешно завершены.
Шаг 6 – Безопасность Jenkins
На панели управления администратора Jenkins нам нужно настроить стандартные параметры безопасности для Jenkins, нажать «Manage Jenkins», а затем «Configure Global Security».
Jenkins предоставляет несколько методов авторизации в разделе «Access Control».
Мы будем использовать «Matrix-based Security», чтобы мы могли контролировать все пользовательские привилегии.
Добавьте пользователя «hakase» в поле «user / group» и нажмите add.
Дайте пользователю «hakase» все привилегии, проверив все параметры и нажмите кнопку «Save».
Вы будете перенаправлены на панель управления, и если есть опция входа в систему, просто введите своего администратора и пароль.
Шаг 7 – Тестирование
В этом разделе мы хотим создать простую работу для сервера Jenkins.
Мы создадим простую работу для тестирования Jenkins и выясним загрузку сервера с помощью команды top.
На панели инструментов администратора Jenkins нажмите «Create New Job».
Введите имя задания.
Здесь мы будем использовать «Checking System», выберите «Freestyle Project» и нажмите «OK».
Перейдите на вкладку «Build».
На шаге «Add build step» выберите параметр «Execute shell».
Введите команду
top -b -n 1 | head -n 5