В этой статье будет кратко рассказано, как настроить процесс сборки непрерывной интеграции Jenkins + gitlab под Linux.
Цель:
- Может успешно собрать и опубликовать в тестовой среде
- Gitlab отправляет указанный код ветки, чтобы запустить сборку
- Настройте уведомления по электронной почте для разработчиков
обработать
- основы линукса
- Среда: java node jenkins git пряжа Примечание. Конфигурация глобальных переменных среды
- Конфигурация Дженкинса
- gitlab-> конфигурация веб-хука
- webhook: плагин webhook позволяет создавать или настраивать подписки на определенные события в GitLab. Когда одно из этих событий запускается, мы отправляем полезную нагрузку HTTP POST на настроенный URL-адрес веб-перехватчика. Веб-перехватчики можно использовать для обновления внешних средств отслеживания проблем, запуска сборок CI, обновления образов резервных копий и даже для развертывания на рабочих серверах.
основы линукса
- Заказ
- pwd: просмотреть текущий каталог
- каталог vi: введите и отредактируйте каталог
- esc + : + q + !: принудительно выйти без сохранения
- esc + : + w + q: сохранить и выйти
- исходный файл /etc/profile: измененный файл /etc/profile вступает в силу немедленно.
- shift + g: перейти в конец файла
- mv старое имя новое имя: переименовать
- ням команда
шаг
Установка программы
wget
yum install wget
unzip
yum install unzip
nodejs
- Просмотр системных битов Linux
uname -a
-
Введите каталог установки (/usr/local/src)
-
Загрузите соответствующий установочный пакет
wget https://nodejs.org/dist/v8.5.0/node-v8.5.0-linux-x64.tar.xz
- распаковать и войти
tar -zxvf node-v8.5.0-linux-x64.tar.xz
z: с атрибутом gzip х: распаковать v: показать все процессы f: используйте имя файла, этот параметр можно разместить только в конце
- Настроить глобальные переменные
- Отредактируйте файл /etc/profile
- Добавьте следующий код в конец файла, сохраните и закройте файл.
export NODE_PATH=/usr/local/src/node-v8.5.0-linux-x64/bin
export PATH=$PATH:$NODE_PATH
- Проверьте, настроена ли она как глобальная переменная
node -v
npm -v
yarn
npm install --global yarn@13.2
java
- Установить
wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1521104652_72aaa3f990b00fe806f0156100c8c245
- Переименовать
mv jdk-8u161-linux-x64.tar.gz?AuthParam=1521104652_72aaa3f990b00fe806f0156100c8c245 java-jdk.tar.gz
- распаковать
tar xzf java-jdk.tar.gz
- Настроить глобальные переменные
export JAVA_HOME=/usr/local/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
git
- скачать, заархивировать, войти в каталог
wget https://github.com/git/git/archive/v1.7.1.zip
unzip v1.7.1.zip
cd git-1.7.1
- Установите необходимые плагины
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
- скомпилировать, установить
make prefix=/usr/local/git all
make prefix=/usr/local/git install
- Настроить глобальные переменные среды
- Отредактируйте /etc/профиль
- Добавьте следующий код в конец файла, сохраните и закройте файл.
export PATH=/usr/local/git/bin:$PATH
- настроить git
- Установить пользователя, сгенерировать ключ ssh
git config --global user.name "xxx"
git config --global user.email "mailto:xxx@gmail.com"
ssh-keygen -t rsa -C "mailto:qiubing.it@gmail.com"
- Добавьте сгенерированный выше ключ ssh в gitlab
cat ~/.ssh/id_rsa.pub
Скопируйте содержимое, добавьте в шапку ssh-rsa
Jenkins
wget http://updates.jenkins-ci.org/download/war/2.109/jenkins.war
Дженкинс + конфигурация gitlab
Конфигурация Jenkins (1) ===" рекомендуется
- Начать Дженкинс
nohup java -jar /root/app/jenkins.war --httpPort=8080 2>&1 &
&: когда задание выполняется на переднем плане, терминал занят заданием; вы можете добавить & после команды для запуска в фоновом режиме nohup: при использовании команды & задание отправляется в фоновый режим для выполнения, а текущая консоль не занята, но как только текущая консоль закрывается (при выходе из учетной записи), задание перестает выполняться. Команда nohup может продолжить выполнение соответствующего процесса после того, как пользователь выйдет из учетной записи. Примечание: 1. Вам необходимо ввести секретный ключ при первом запуске (его можно увидеть в xshell) 2. Пароль для входа администратора по умолчанию находится в файле .jenkins/secrets/initialAdminPassword (используется для следующего входа) 3. Вы также можете изменить пароль
- создать новый проект
- jenkins настроить hookplugin
- Установите плагины: Управление системой --> Управление плагинами --> Дополнительные плагины --> Выберите для установки gitplugin, gitlab, gitlab plugin, gitlab hook plugin, Build Authorization Token, gitlab Authorization
- Конфигурация проекта
- общее: введите название проекта
- Управление исходным кодом:
- Триггер сборки:
- Триггерная ветвь регулярного фильтра
- запишите URL-адрес
- записать токен
- написать пакетную команду
Конфигурация Jenkins (2) === "Я не знаю, как выбрать ветку триггера
- Случайно сгенерированный токен
openssl rand -hex 12
Строка токенов будет сгенерирована и сохранена
- триггер сборки
- Установите флажок «Запустить удаленную сборку (например, с помощью скрипта)», введите случайно сгенерированный токен в поле «Токен аутентификации»: сохраненный выше
- URL-адрес записи
- Проверьте «триггер gitlab hook для опроса gitScm»
- Установите флажок «Запустить удаленную сборку (например, с помощью скрипта)», введите случайно сгенерированный токен в поле «Токен аутентификации»: сохраненный выше
конфигурация gitlab
- добавить ssh-ключ
- Настройка веб-перехватчиков
- Выберите проект --> настройка --> веб-перехватчик
- Заполните URL-адрес, сохраненный выше
- Заполните токен, сохраненный выше
- добавить вебхук
- test (может ли пройти тестовый процесс)
- Ошибка 403, вход не выполнен, решение состоит в том, чтобы добавить форму имени пользователя: пароль к «http://» URL-адреса.
- Ошибка: в запрос не была включена действительная крошка, решение: введите управление системой jenkins -> глобальная конфигурация безопасности -> снимите флажок: предотвратить подделку межсайтового запроса.
- Выберите проект --> настройка --> веб-перехватчик
Конфигурация уведомлений почтового ящика Jenkins
-
Управление системой ---> Системные настройки
- Установить адрес электронной почты администратора
- Extended E-mail Notification
- Снимите флажок «разрешить отправку сообщения об ошибке незарегистрированным пользователям»:
- После выбора:
- Снимите флажок «разрешить отправку сообщения об ошибке незарегистрированным пользователям»:
- Уведомление по электронной почте
- Вы можете отправить тестовое письмо, чтобы убедиться, что оно прошло успешно.
- Вы можете отправить тестовое письмо, чтобы убедиться, что оно прошло успешно.
- Установить адрес электронной почты администратора
-
Настройки проекта
- Добавьте этапы работы после сборки, выберите «Уведомление по электронной почте», «Редактируемое уведомление по электронной почте».
- E-mail Notification
- Редактируемое уведомление по электронной почте ---> Расширенные настройки, добавить триггеры
- Добавьте этапы работы после сборки, выберите «Уведомление по электронной почте», «Редактируемое уведомление по электронной почте».