Вы тратите много времени на развертывание кода в вашей инфраструктуре с множеством шагов и программного обеспечения? Не волнуйтесь, вы находитесь в нужном месте, чтобы узнать, как установить Jenkins – самый широко используемый инструмент с открытым исходным кодом.
В этом учебнике вы узнаете, как установить Jenkins на машине с Ubuntu, чтобы с легкостью собирать и развертывать код одним щелчком.
Читайте далее и начинайте установку!
Предварительные требования
Этот пост будет шаг за шагом. Чтобы следовать за уроком, убедитесь, что у вас есть машина с Ubuntu. В этом уроке используется Ubuntu 18.04 с установленным apache.
Установка Java версии 11 на машине с Ubuntu
Jenkins – это инструмент для непрерывной интеграции (CI) и непрерывного развертывания (CD), который можно запустить в различных контейнерах servlet, таких как Apache Tomcat или GlassFish. Но для этой демонстрации вы будете запускать Jenkins на его встроенном сервере Java servlet container.
Есть несколько реализаций Java, которые можно использовать с Jenkins, но OpenJDK самый популярный, который вы установите и используете в этом руководстве.
1. Войдите в свою машину Ubuntu, используя ваш клиент SSH.
2. Затем выполните следующие команды, чтобы создать каталог с именем ~/install_jenkins_demo и перейти в этот каталог.
3. Запустите команду apt install
ниже, чтобы установить Java на вашем компьютере.

4. Наконец, выполните нижеприведенную команду, чтобы проверить версию установленной Java на вашем компьютере. Это гарантирует успешную установку Java.

Установите Jenkins на экземпляр Ubuntu 18.04 LTS
Теперь, когда у вас установлена Java на компьютере с Ubuntu, пришло время установить Jenkins на ваш компьютер. Установка Jenkins довольно похожа на установку других пакетов на вашем компьютере.
Предполагая, что вы все еще вошли в SSH-клиент:
1. Во-первых, выполните команду apt update
, чтобы обновить пакеты вашей системы.
2. Затем выполните нижеприведенную команду wget
, чтобы добавить открытый ключ Jenkins в вашу систему.
Добавление открытого ключа позволяет сайту Jenkins загружать официальный репозиторий Jenkins или любые необходимые пакеты.
3. Выполните следующие команды, чтобы добавить официальный репозиторий Jenkins в вашу систему и обновить ее.

4. Теперь выполните команду ниже, чтобы установить
пакет Jenkins
.

5. Наконец, запустите команду service
ниже, чтобы проверить статус службы Jenkins. # Подтверждение статуса службы Jenkins на машине ubuntu: service jenkins status
Как видите ниже, статус показывает, что служба Jenkins активна.

Настройка экземпляра Jenkins
На данный момент вы на полпути к успешной установке Jenkins. Но прежде чем вы начнете его использовать, вам необходимо настроить его с базовыми удобствами. Как? Первый шаг в настройке Jenkins – разблокировать недавно установленный Jenkins.
Предполагая, что вы все еще вошли в клиент SSH:
1. Откройте ваш любимый браузер и перейдите по IP-адресу сервера, за которым следует порт 8080, например, jenkins-ip:8080. После перехода по ссылке вам потребуется разблокировать Jenkins, предоставив административный пароль. Административный пароль хранится в каталоге /var/lib/jenkins/secrets/initialAdminPassword
на сервере (шаг два).

2. Запустите команду cat
ниже, чтобы добавить пароль администратора на вашем компьютере из каталога /var/lib/jenkins/secrets/initialAdminPassword
.
Как видите ниже, огромная строка в выводе – это пароль администратора. Запишите пароль администратора, так как вам потребуется он для разблокировки Jenkins (шаг три).

3. Вернитесь к своему веб-браузеру (Разблокировать Jenkins страница) и введите пароль администратора, который вы записали на шаге два.
Как только вы разблокируете Jenkins, ваш браузер перенаправится на страницу, где вы сможете настроить свой экземпляр Jenkins с помощью плагинов (шаг четыре).
4. На странице Настройка Jenkins нажмите на вариант Установить рекомендуемые плагины.
Плагин Jenkins – это сторонний инструмент, который интегрируется с Jenkins и позволяет выполнять такие задачи, как плагин Git. Плагин Git позволяет подключаться к репозиторию Git, выполнять команды Git и так далее.

5. Заполните данные администратора, как показано ниже, и нажмите Сохранить и продолжить, чтобы создать учетную запись администратора. Эта учетная запись администратора позволит вам работать с панелью управления пользовательского интерфейса Jenkins или экземпляром Jenkins.
Как только вы нажмете Сохранить и продолжить, появится экран настройки экземпляра, показанный на шаге пять.
По умолчанию в Jenkins создана учетная запись администратора с именем пользователя/паролем (
admin: admin
), но все же вы можете создать учетную запись администратора по своему выбору. Вы можете пропустить этот шаг и продолжить в качестве администратора, если не хотите создавать пользовательскую учетную запись администратора.

6. Наконец, нажмите Сохранить и завершить, чтобы сохранить конфигурацию экземпляра.
Конфигурация экземпляра позволяет указать URL-адрес Jenkins, который вы хотите использовать, и в этом случае вы будете использовать URL-адрес по умолчанию (т.е. server-ip:8080)


Изменение порта Jenkins по умолчанию
Ранее вы узнали, что по умолчанию Jenkins работает на порту 8080, что вполне нормально. Но что, если вам нужно запустить другие приложения на том же порту, такие как Apache или NGINX? Не волнуйтесь! Вы можете изменить порт Jenkins (8080) и запустить экземпляр Jenkins на других портах.
1. Откройте файл /etc/default/Jenkins в выбранном вами текстовом редакторе и измените порт по умолчанию с 8080 на 9090, затем сохраните изменения.

2. Затем выполните следующую команду для перезапуска Jenkins, чтобы обновленные конфигурации вступили в силу.
3. Наконец, перейдите по URL Jenkins, но на этот раз измените порт на 9090, как показано ниже.

Запуск Jenkins безопасно (HTTPS) с использованием SSL-сертификата
Теперь ваш экземпляр Jenkins отлично работает на порту 9090. Но является ли он безопасным? Нет, не является. Обеспечьте безопасность вашего экземпляра Jenkins и избегайте его компрометации злоумышленниками, включив SSL-сертификат.
SSL-сертификаты в основном используются для тестирования на локальной машине, когда отсутствует сертификат от внешнего удостоверяющего центра.
Для обеспечения безопасности вашего экземпляра Jenkins:
1. Выполните каждую из приведенных ниже команд, чтобы создать каталог с именем ~/certificates для хранения сертификатов и перейдите в этот каталог.
2. Затем запустите следующую команду openssl
, чтобы сгенерировать запрос на подпись сертификата (CSR) и закрытый ключ.

3. Выполните следующие команды, чтобы создать другую директорию (/etc/apache2/ssl
) и переместить сертификаты из директории ~/certificates/
в директорию /etc/apache2/ssl
.
4. Откройте файл конфигурации SSL веб-сайта по умолчанию (/etc/apache2/sites-available/default-ssl.conf
) и добавьте следующие строки. Убедитесь, что заменили <my-server-name>
на фактическое имя вашего сервера.
В приведенном ниже коде вы указываете расположение (ключа сертификата и файла), куда вы ранее скопировали SSL сертификаты. Также для перенаправления Jenkins на порт 9090
вы добавите аргумент ProxyPass
и включите ProxyPreserveHost
.

5. Теперь выполните каждую команду ниже, чтобы включить модуль SSL, включить измененный сайт (шаг четыре) и перезапустить службу Apache.
6. Наконец, перейдите к вашему экземпляру Jenkins, но на этот раз используйте HTTPS, как показано ниже.
Как видите, Jenkins успешно открывается с SSL-соединениями на порту HTTPS. Не беспокойтесь, если вы видите предупреждающий символ, отображающий сообщение Не безопасно. Вы увидите это предупреждение, поскольку используете самоподписанный сертификат (созданный вами), а не от центра сертификации.

Заключение
В этом уроке вы узнали, как установить Jenkins на машину с Ubuntu и убедились, что можете безопасно получить доступ к экземпляру Jenkins.
Теперь, как вы планируете улучшить свою работу с Jenkins? Возможно, автоматизировать развертывание веб-приложений? Или создать конвейер Jenkins CI CD, чтобы улучшить процесс разработки программного обеспечения?