Jenkins — это сервер автоматизации, который помогает автоматизировать тестирование и сборку. Его использование очень быстро выросло, и его используют более 6000 проектов с открытым исходным кодом. Вот несколько примеров пользователей Jenkins:
- Red Hat
Таким образом, Jenkins можно запускать практически на любом оборудовании или операционной системе, что позволяет пользователям использовать свою собственную инфраструктуру для настройки сервера непрерывной интеграции или даже среды непрерывной доставки.
Эта гибкость — одна из причин, по которой так много компаний приняли это программное обеспечение: им не нужно было покупать дорогостоящее решение у третьей стороны, а также им самим не требовался опыт разработки, как это делают большинство людей, участвующих в разработке Jenkins в свободное время. Фактически, за Jenkins вообще не стоит компания; по этой причине это проект с открытым исходным кодом.
Однако Jenkins также подвергся справедливой критике. Самым важным моментом, на который следует обратить внимание, будет то, что Jenkins на самом деле может причинить больше вреда, чем пользы, если использовать его без предварительного обдумывания. Например, одна особенность, которая нравится многим пользователям — это то, насколько легко установить плагины для Jenkins — для этого есть даже графический пользовательский интерфейс!
Но это также означает, что существует бесчисленное множество конфликтующих плагинов, которые могут создавать проблемы при выполнении нескольких заданий на вашем сервере, потому что каждый плагин имеет свои собственные зависимости. Решение этой проблемы на самом деле довольно простое: просто прочтите примечания к выпуску любых плагинов, которые вы собираетесь установить, и выберите те, которые были недавно обновлены для совместимости с вашей версией Jenkins.
Еще одна проблема, о которой люди часто забывают — это безопасность. Опять же, поскольку любой может легко создать плагин Jenkins (давайте даже не будем говорить о том, какой код они могут писать), достаточно всего одного неверно сконфигурированного или злонамеренно созданного плагина, чтобы подвергнуть риску ваш сервер. Два года назад существовал эксплойт, который мог делать это автоматически, используя только функцию центра обновлений.
Но это далеко не все вещи, которые могут пойти не так, если вы не будете осторожны с Jenkins как таковым. Вы также должны обезопасить себя от людей, которые могут захотеть использовать ваш сервер для собственной выгоды, и помните, что ваша безопасность настолько хороша, насколько хороши самые слабые звенья в нем.
Возможно, самым важным из всего было бы научиться правильно использовать Jenkins, прочитав лучшие практики и документацию, вместо того чтобы просто устанавливать плагины и надеяться, что они хорошо работают друг с другом.
Это руководство покажет вам шаги по установке Jenkins Server в системе.
На сайте есть инструкции для других систем.
Требования
Чтобы следовать этому руководству, вам понадобятся:
- Сервер с доступом в Интернет и пустым жестким диском не менее 15 ГБ.
- Доступ root-пользователя (пароль).
Обновление системы
Рекомендуется начать эту установку с обновления наших репозиториев пакетов. Вы можете сделать это, выполнив следующие команды:
# RedHat, Rocky Linux sudo dnf check-update && sudo dnf update -y
# Ubuntu, Debian sudo apt update && sudo apt full-upgrade -y
Установка Java
Jenkins написан на Java, поэтому вам нужно будет установить ее в своей системе. Установка JDK (Java Development Kit) является обязательной, ее настоятельно рекомендуется использовать в целях разработки. Если вы хотите разработать свои собственные плагины или запустить тесты на своих серверах сборки, установка JDK может быть очень полезной.
В этом руководстве мы установим JDK 11. JDK 11 — это реализация платформы Java SE 11 с открытым исходным кодом. Он содержит, среди прочего: среду выполнения OpenJDK (сборка 11 + 28) и компилятор (сборка 11 + 28).
Пакет JDK 11 по умолчанию включен в репозиторий, вы можете выполнить следующую команду, чтобы показать все пакеты java, доступные в вашей системе.
# Rocky Appstream sudo dnf search java-*-openjdk
Выполните следующую команду, чтобы установить JDK 11 в вашей системе.
# Rocky Linux sudo dnf -y install java-11-openjdk
# RedHat yum install epel-release # repository that provides 'daemonize' yum install java-11-openjdk-devel yum install jenkins
# Ubuntu, Debian sudo apt -y install openjdk-11-jdk
После завершения процесса установки вы можете запустить приведенную ниже команду, чтобы убедиться, что Java установлена успешно.
java -version
Добавление репозитория Jenkins
Пакет Jenkins по умолчанию не включен в репозиторий. К счастью, команда разработчиков Jenkins сделала свой собственный репозиторий общедоступным, поэтому мы можем использовать его для нашей установки.
Вы можете добавить репозиторий Jenkins, используя следующие команды:
# RedHat, Rocky Linux sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# Ubuntu, Debian curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
Теперь запустите команду ниже, чтобы проверить, правильно ли вы добавили репозиторий.
sudo dnf repolist
Установка Jenkins на Rocky Linux
Теперь, когда все необходимые компоненты установлены, пора переходить к самой установке. Выполните следующую команду, чтобы установить Jenkins.
# Rocky Linux sudo dnf -y install jenkins
# RedHat yum install jenkins
# Ubuntu, Debian sudo apt-get update sudo apt-get install jenkins
После завершения установки выполните следующую команду, чтобы запустить службу jenkins.
sudo systemctl start jenkins
Чтобы запустить службу jenkins при загрузке, выполните следующую команду.
sudo systemctl enable jenkins
Теперь давайте проверим его статус, чтобы убедиться, что все работает правильно.
sudo systemctl status jenkins.service
Доступ и настройка Jenkins
Теперь, когда ваш сервер Jenkins запущен, вы можете получить к нему доступ из своего браузера. Для этой цели вы можете использовать следующий URL-адрес.
http://IP-адрес_сервера:8080
Где server_ip — это фактический IP-адрес вашего сервера. Например, если IP-адрес вашего сервера 192.168.1.3, вы будете использовать следующий URL-адрес для доступа:
http://192.168.1.3:8080
Вы получите следующую страницу, если все работает правильно. Вы можете увидеть / var / lib / jenkins / secrets / initialAdminPassword в виде открытого текста, где находится пароль пользователя, используемый для доступа к Jenkins.
Это временный пароль, созданный во время установки, но не показанный. Теперь вернитесь к своему терминалу и выполните команду ниже, чтобы получить пароль.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Теперь скопируйте пароль. Вернитесь в браузер и вставьте пароль в поле пароля администратора. Щелкните Продолжить.
Вы попадете на страницу плагинов, как показано ниже. Плагины расширяют Jenkins, добавляя новые функции. Сервер Jenkins имеет множество плагинов, доступных по умолчанию для выполнения самых разных задач.
На данный момент для новой установки рекомендуется выбрать вариант установки предлагаемых плагинов. Вы всегда можете добавить дополнительные плагины на более позднем этапе с панели инструментов Jenkins.
Как только вы нажмете на кнопку, начнется процесс установки плагина. Это может занять некоторое время.
После завершения процесса установки плагина вы попадете на страницу настройки пользователя с правами администратора. Введите имя пользователя и пароль администратора, а затем нажмите кнопку «Сохранить и продолжить».
На следующей странице конфигурации экземпляра вы сможете настроить URL-адрес Jenkins. Оставьте значение по умолчанию и нажмите «Сохранить и завершить».
Наконец, нажмите Начать использовать Jenkins на последней странице.
Вы попадете на панель управления Jenkins, где сможете изучить список плагинов, проектов и других функций, которые вы можете добавить.