Действительно нуб - Учебник по развертыванию Jenkins

Jenkins

задний план

компании前端、后端Построение и развертывание выполняются вручную. С расширением бизнеса скорость итерации проекта становится быстрее, количество персонала увеличивается, и выявляются различные проблемы. Через простой случай я поделюсь процессом построения фронт- Конечный и внутренний рабочий процесс автоматизации на основе Jenkins.После создания этого рабочего процесса нам нужно только локально инициировать отправку git, а остальная часть сборки одного пакета, развертывание кода, напоминание по электронной почте и другие функции автоматизированы, что делает непрерывным интеграция, непрерывная доставка и непрерывное развертывание просты и просты в эксплуатации.Реально решить многие проблемы ручного создания и развертывания.

Что такое Дженкинс?

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

Установка военного пакета

  1. Скачайте пакет Jenkins War с официального сайта
  2. начинается команда,java -jar jenkins.war --httpPort=8080

Можно использовать-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512mОграничить использование памяти Jenkins 3. Открывается браузерhttp://127.0.0.1:8080/4. Найдите пароль инициализации5. Выберите плагин по умолчанию6. Дождитесь завершения загрузки7. Установите пароль для входа

Скачать плагин

Manage Jenkins->Manage Plugins->高级(最下面)

Увеличить скорость загрузки Заменить URL по умолчанию

http://mirror.esuni.jp/jenkins/updates/update-center.json

Manage Jenkins->Manage Plugins->可选插件

Установите следующие плагины

  1. Публикация через SSH для подключения к удаленным серверам
  2. Плагин Deploy to container используется для публикации упакованных приложений на удаленных серверах.
  3. Maven Integration plugin
  4. Pipeline Maven Integration Plugin
  5. Плагин Gitlab Hook (автоматически компилируется при коммите git)
  6. Плагин GitLab (автоматически компилируется при коммите git)
  7. GitLab Authentication Plugin (автоматически компилируется при коммите git)
  8. WebHook (автоматически компилируется при коммите git)
  9. После завершения загрузки Locale перейдите в глобальную конфигурацию Locale->Settings zh-CN
  10. Dingding[Dingding] Плагин Dingding Jenkins Notifier
  11. Несколько SCM (настройте несколько git)
  12. Подключаемый модуль Git Parameter (параметризованная конфигурация)

Глобальная конфигурация

Manage Jenkins->Global Tool Configuration

Публикация через SSH (для удаленной отправки можно настроить более одного сервера)

Создайте новый проект maven

нажмите新建Item

备注:如果有父子关系的程序,父工程先install到仓库里面。 或者下载插件:Multiple SCMs(配置多个git)Справочный адрес:Руководство по настройке Jenkins Принудительно указать пользовательский репозиторий maven job-->configure-->Build-->Цели и параметры: чистый пакет -Dmaven.repo.local=D:\dev\maven3.1.1\m2repository

如果要提交代码后自动化构建Необходимо настроить: (требуются разрешения) 配置成功后 点击test可以测试自动部署

Параметризованная конфигурация Jenkins (выберите развертывание ветки)

1. Загрузите плагинGit Parameter

2. Свойства параметра конфигурации

3. Окончательный эффект

Уведомление о конфигурации гвоздя Jenkins

1. Настройте робота DingTalk  2. Установите плагин уведомлений DingTalk

  3. Настройте уведомление после сборки проекта.

4. Настройте Jenkins для отправки сообщений в DingTalk.

5. Окончательный результат

Управление разрешениями Дженкинса

Установить плагинRole-based Authorization StrategyМожет получить доступ:Справочник по управлению разрешениями Jenkins

Межсервисное выполнение сценариев оболочки без пароля на сервере Jenkins

Сценарий. Во многих случаях Jenkins развертывается на отдельном сервере и отправляет упакованный пакет службы на целевой сервер для запуска. Неизбежно есть индивидуальные операции:

Например: перед отправкой на целевой сервер备份Пакет обновления, работающий на текущем сервере, должен быть定制化的shellскрипт для выполнения этой операции. Вводить пароль каждый раз определенно ненадежно.

Поэтому необходимо настроить сервер Jenkins для входа на целевой сервер без пароля.

参考: [Xiaobai] linux вход без пароля

приложение

docker部署不建议使用,推荐使用war启动Jenkins

Скачать зеркало

docker pull jenkins/jenkins:lts

установить образ

docker run --name jenkins --user=root -p 8080:8080 -p 50000:50000 -v /Users/wei/Documents/jenkins_home:/var/jenkins_home -d jenkins/jenkins:lts

Размонтировать контейнер

docker rm -f $(docker ps -a |  grep "jenkins"  | awk '{print $1}')

Ссылаться на

Документация Дженкинса на китайском языке

Руководство по развертыванию Jenkins Nodejs

Плагин Jenkins для непрерывной интеграции Плагин Multijob