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 Содержимое текущей страницы
5.2 Напишите и измените html-код в локальном Pycharm и нажмите
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
测试代码-V2
</body>
</html>