Как установить Jenkins Сервер с Apache на Ubuntu 18.04

by itisgood

Дженкинс – это сервер автоматизации, сфорканный из проекта Хадсон.

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 

 

You may also like

Leave a Comment