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

Как установить Jenkins Automation Server с Nginx на CentOS 7


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

  1. Обновление базовой системы
  2. Установите JAVA 8
  3. Установить Дженкинс
  4. Запуск Дженкинса
  5. Установите Nginx
  6. Настройка брандмауэра и SELinux
  7. Настройка Дженкинса
  8. Заключение

Jenkins — это бесплатный сервер непрерывной интеграции с открытым исходным кодом. Он написан на ЯВА. Его можно использовать для автоматизации различных задач, связанных с разработкой программного обеспечения, таких как тестирование сборки и развертывание. Он поддерживает многие системы контроля версий, такие как git, SVN, mercurial и т. д.

В этом руководстве мы установим Jenkins Automation Server на сервер CentOS 7. Мы также настроим Nginx в качестве обратного прокси для Jenkins.

Предпосылка

  • Минимальный сервер CentOS 7
  • Привилегии root. Это руководство написано как пользователь root, если вы вошли в систему как пользователь sudo, запустите sudo -i.

Обновление базовой системы

Перед установкой любого пакета рекомендуется обновить пакеты и репозиторий с помощью следующей команды.

yum -y update

Как только ваша система будет обновлена, перейдите к установке JAVA.

Установите ЯВА 8

Jenkins поддерживает как OpenJDK, так и Oracle JAVA, в этом руководстве мы установим последнюю версию OpenJDK на сервер. Выполните следующую команду, чтобы установить OpenJDK на свой сервер.

yum install java-1.8.0-openjdk

Теперь вы можете проверить версию Java с помощью следующей команды.

java -version

Вы получите следующий вывод.

[ ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

Вам также нужно будет проверить, установлена ли переменная среды JAVA_HOME. Выполните следующую команду для того же.

echo $JAVA_HOME

Если вы получите нулевой или пустой вывод, вам нужно будет вручную установить переменную JAVA_HOME. Отредактируйте файл .bash_profile в своем любимом редакторе. В этом уроке мы будем использовать редактор nano. Выполните следующую команду, чтобы отредактировать .bash_profile с помощью nano.

nano ~/.bash_profile

Теперь добавьте следующие строки в конец файла.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre

Теперь создайте файл, используя следующую команду.

source ~/.bash_profile

Теперь вы можете снова запустить команду echo $JAVA_HOME, чтобы проверить, установлена ли переменная среды или нет.

[ ~]# echo $JAVA_HOME 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/

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

Установить Дженкинс

Jenkins можно установить напрямую, добавив репозиторий и импортировав ключ GPG. Добавьте репозиторий Jenkins в свою систему, выполнив следующую команду.

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

Если у вас не установлен wget, вы можете запустить yum -y install wget.

Импортируйте ключ GPG, выполнив следующую команду.

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

После успешного импорта вы можете установить Jenkins, выполнив следующую команду.

yum -y install jenkins

Дженкинс теперь установлен на вашем сервере. Теперь все необходимые пакеты установлены. Установщик также создал нового пользователя jenkins для запуска процесса. Вы можете продолжить, чтобы запустить сервер.

Запуск Дженкинса

Вы можете запустить Jenkins, выполнив следующую команду.

systemctl start jenkins

Чтобы остановить Дженкинса, вы можете запустить следующую команду.

systemctl stop jenkins

Вы можете проверить статус процесса, выполнив следующую команду.

systemctl status jenkins

Установите Nginx

Вместо доступа к приложению через порт 8080 мы можем создать обратный прокси-сервер для приложения с веб-сервером Apache или Nginx. В этом руководстве мы собираемся использовать nginx в качестве обратного прокси-сервера для вашего приложения. Теперь nginx будет работать за прокси-сервером nginx. nginx недоступен в репозитории YUM по умолчанию. Вам нужно будет установить репозиторий EPEL для установки Nginx.

yum -y install epel-release

Теперь вы можете установить Nginx, запустив:

yum -y install nginx

Создайте новый серверный блок, выполнив следующую команду.

nano /etc/nginx/conf.d/jenkins.conf

Заполните файл следующим содержимым. Замените ci.yourdomain.com вашим фактическим доменным именем.

upstream jenkins{
    server 127.0.0.1:8080;
}

server{
    listen      80;
    server_name ci.yourdomain.com;

    access_log  /var/log/nginx/jenkins.access.log;
    error_log   /var/log/nginx/jenkins.error.log;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    location / {
        proxy_pass  http://jenkins;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto https;
    }

}

Сохраните файл и выйдите из редактора. Теперь вы можете запустить Nginx, выполнив следующую команду.

systemctl start nginx

Чтобы включить автоматический запуск Nginx во время загрузки, выполните следующую команду.

systemctl enable nginx

Настройте брандмауэр и SELinux

Если на вашем сервере работает брандмауэр, вам необходимо разрешить порт 8080 и стандартный HTTP-порт через брандмауэр. Выполните следующую команду, чтобы добавить правила брандмауэра, разрешающие порты 8080 и 80.

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent

Перезагрузите зоны брандмауэра, выполнив:

firewall-cmd --reload

Настройте SELinux для конфигурации прокси-сервера nginx, выполнив следующую команду.

setsebool httpd_can_network_connect 1 -P

Настроить Дженкинс

Теперь вы можете получить доступ к веб-интерфейсу сервера Jenkins CI, перейдя по следующему веб-адресу.

http://ci.yourdomain.com

Замените ci.yourdomain.com вашим фактическим доменом. Вы увидите следующий интерфейс.

Он попросит вас ввести начальный пароль администратора, который генерируется установщиком и хранится в файле /var/lib/jenkins/secrets/initialAdminPassword. Выполните следующую команду, чтобы получить начальный пароль администратора.

cat /var/lib/jenkins/secrets/initialAdminPassword

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

В следующем разделе вас спросят, какие плагины вы хотите установить. Для начинающих рекомендуется выбрать Установить предлагаемые плагины.

Это установит все плагины, необходимые для начала работы.

На следующем интерфейсе будут установлены плагины.

Теперь вам нужно создать пользователя-администратора для панели администратора Jenkins.

Наконец, вы попадете на административную панель Jenkins.

Заключение

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