GitLab + Jenkins + Webhook для реализации автоматического обновления после Push-кода | Задача обновления за август

задняя часть GitLab
GitLab + Jenkins + Webhook для реализации автоматического обновления после Push-кода | Задача обновления за август

1. Введение

Обычно разработанный код сначала отправляется в Gitlab для управления, а затем код создается и выпускается с помощью скриптов в Jenkins. Таким образом, каждый раз, когда выпускается версия, необходимо вручную выполнять действие сборки на jenkins, что иногда слишком громоздко.

Функция Gitlab Webhook с помощью соответствующих настроек Webhook может автоматически запускать действие сборки на jenkins после отправки кода, поэтому для выполнения операции не требуется ручное вмешательство.

2. Экологическая информация

Имя процессора айпи адрес Функции
GitLab 172.20.6.11 GitLab-ce 8.8.0
Jenkins 172.20.6.12 Jenkins 2.150.1
Web 172.20.2.10 Nginx

3. Строительство окружающей среды

3.1 Развертывание Дженкинса

On 172.20.6.12

импортировать источник yum

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

Установить и запустить службу

yum install jenkins
systemctl start jenkins
systemctl status jenkins

Веб-доступ

3.2 Локализованное развертывание GitLab

On 172.20.6.11

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.0-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-8.8.0-ce.0.el7.x86_64.rpm 
vim /etc/gitlab/gitlab.rb 
external_url 'http://172.20.6.11'
gitlab-ctl reconfigure

веб-доступ

3.3 Создайте новый проект в GitLab и загрузите код

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

3.4.1 Установите плагин

Войдите в бэкенд Jenkins, нажмите «Управление системой» — «Управление плагинами» — «Доступно».

Должны быть установлены следующие плагины:

GitLab Plugin
Publish Over SSH

3.4.2 Настройка веб-машины

Войдите в бэкэнд Jenkins, нажмите «Управление системой» — «Настройки системы».

Только после успешной установки подключаемого модуля «Публикация через SSH» появятся следующие элементы конфигурации, и вы сможете заполнить информацию о веб-сервере.

3.4.3 Создание новой задачи сборки

Общая конфигурация раздела

Установите каталог рабочей области: /data и измените разрешения каталога на jenkins.

[root@jenkins /]# ll -d /data/
drwxr-xr-x. 7 jenkins jenkins 111 Jan  2 10:52 /data/

3.4.4 Конфигурация исходного кода

На сервере Дженкинс:

ssh-keygen -t rsa -C "jenkins"
# 一路回车, 默认路径和文件名, 不要密码

В проекте gitlab щелкните меню конфигурации справа -> Развернуть ключи, используйте содержимое только что созданного id_rsa_tho.pub, создайте ключ с именем Readonly Key for Jenkins, если этот закрытый ключ нужен нескольким проектам, то в разделе Вы можете включить этот ключ под ключами развертывания каждого проекта.

Выберите Git, введите адрес проекта, указанный в gitlab, добавьте новые учетные данные ниже,

Username: git,

Закрытый ключ Введите напрямую, введите содержимое только что созданного id_rsa, обратите внимание, что это закрытый ключ

3.4.5 Триггеры сборки

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

3.4.6 Среда сборки

Выберите веб-машину, добавленную на шаге 2, и сохраните ее.

В-четвертых, настройте вебхук

Перейдите в GitLab, проект, отредактируйте проект, выберите "Webhooks"

URL-адрес webhooks gitlab устанавливается в соответствии с подключением разрешения на сборку jenkins.Если вам нужно войти в систему для сборки, вы должны получить имя пользователя и токен jenkins, которые можно просмотреть в настройках пользователя jenkins, формат URL-адреса:

http://:@/

Итак, если вы получили следующее сообщение об ошибке:

Нажмите «Тест», следующее означает, что он прошел успешно.

5. Тест

5.1 Содержимое текущей страницы

GitLab

5.2 Напишите и измените html-код в локальном Pycharm и нажмите

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    测试代码-V2
</body>
</html>

5.3 Просмотр Дженкинса

GitLab

5.4 Просмотр веб-сайта