Поиск по сайту:

Как установить Jenkins Automation Server с Apache на Ubuntu 18.04


Это руководство существует для этих версий ОС

  • Ubuntu 16.04 (Xenial Xerus)

На этой странице

  1. Предпосылки
  2. Что будем делать?
  3. Шаг 1. Установите Java
  4. Шаг 2. Установите Jenkins
  5. Шаг 3. Установите и настройте Apache2 в качестве обратного прокси-сервера для Jenkins.
  6. Шаг 4. Настройка брандмауэра UFW
  7. Шаг 5. Настройка Jenkins
  8. Шаг 6. Безопасность Jenkins
  9. Шаг 7. Тестирование
  10. Ссылки

Jenkins — это сервер автоматизации, созданный на основе проекта Hudson. Jenkins — это серверное приложение, работающее в контейнере сервлетов Java. Оно поддерживает многие программные системы SCM (Source Control Management), включая Git, SVN и Mercurial. Jenkins предоставляет сотни плагинов для автоматизации вашего проекта. Jenkins, созданный Kohsuke Kawaguchi, впервые выпущенный в 2011 году по лицензии MIT, является бесплатным программным обеспечением.

В этом руководстве я покажу вам, как установить последнюю стабильную версию Jenkins на Ubuntu Server 18.04 LTS (Bionic Beaver). Мы запустим Jenkins на нашем собственном доменном имени, а также установим и настроим Jenkins для работы под обратным прокси-сервером веб-сервера Apache.

Предпосылки

  • Убунту 18.04
  • Привилегии root

Что мы будем делать?

  1. Установить Java
  2. Установить Дженкинс
  3. Установка и настройка Apache2 в качестве обратного прокси-сервера для Jenkins
  4. Настройка брандмауэра UFW
  5. Настройка Дженкинса
  6. Дженкинс Безопасность
  7. Тестирование

Шаг 1 — Установите Java

Jenkins — это приложение на основе Java, поэтому нам нужно установить Java OpenJDK на сервер. На этом этапе мы установим Java 8 из репозитория PPA, который мы добавим первым.

Установите пакеты software-properties-common, затем добавьте репозиторий java OpenJDK 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 предоставляет репозиторий 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 в качестве внешнего сервера/обратного прокси-сервера для 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 с помощью команды cat.

cat /var/lib/jenkins/secrets/initialAdminPassword

Вставьте результаты на экран и нажмите «Продолжить».

Теперь мы должны установить некоторые плагины в Jenkins, чтобы получить хорошую основу для дальнейшего использования. Выберите «Установить предлагаемые плагины», нажмите на него.

Выполняется установка плагинов Jenkins.

После завершения установки плагинов нам нужно создать новый пароль администратора. Введите имя пользователя администратора, пароль, адрес электронной почты и т. д. и нажмите «Сохранить и продолжить».

Для конфигурации экземпляра введите доменное имя Jenkins http://jenkins.hakase-labs.io и нажмите кнопку «Сохранить и закончить».

Теперь нажмите кнопку «Начать с помощью Jenkins».

И вы будете перенаправлены на панель администратора Jenkins.

Установка и настройка Jenkins успешно завершены

Шаг 6 — Безопасность Дженкинса

На панели администратора Jenkins нам нужно настроить стандартные параметры безопасности для Jenkins, нажать «Управление Jenkins», а затем «Настроить глобальную безопасность».

Jenkins предоставляет несколько методов авторизации в разделе «Контроль доступа». Мы будем использовать систему безопасности на основе Matrix, чтобы мы могли контролировать все привилегии пользователей.

Добавьте пользователя hakase в поле «Пользователь/группа» и нажмите «Добавить».

Предоставьте пользователю hakase все привилегии, отметив все параметры, и нажмите кнопку «Сохранить».

Вы будете перенаправлены на панель инструментов, и если есть возможность входа в систему, просто введите имя пользователя и пароль администратора.

Шаг 7 — Тестирование

В этом разделе мы хотим создать простое задание для сервера Jenkins. Мы создадим простую задачу для тестирования Jenkins и определения нагрузки на сервер с помощью команды top.

На панели администратора Jenkins нажмите «Создать новое задание».

Введите название задания. Хорошо используйте Checking System здесь, выберите Freestyle Project и нажмите OK.

Перейдите на вкладку «Сборка». На шаге «Добавить сборку» выберите параметр «Выполнить оболочку».

Введите команду ниже в поле.

top -b -n 1 | head -n 5

Щелкните Сохранить.

Теперь вы находитесь на странице вакансий системы проверки вакансий. Щелкните Build Now, чтобы запустить систему проверки заданий.

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

Вот результаты работы, выполненной Дженкинсом.

Установка и настройка инструмента автоматизации Jenkins с использованием Apache2 в качестве обратного прокси-сервера в Ubuntu 18.04 успешно завершена.

использованная литература

  • https://jenkins-le-guide-complet.github.io/