После столь долгой тяжелой работы, если у вас есть немного таланта, должны быть некоторые признаки успеха.
предисловие
Эта статья поможет вам использоватьJenkins
развертыватьSpringBoot
предметы, при использованииDocker
иGit
реализовать простойНепрерывная интеграцияи непрерывное развертывание. (адрес проекта:sso-merryyou)
Блок-схема выглядит следующим образом:
-
push
код дляGithub
курокWebHook
. (Из-за проблем с сетью в этой статье используетсяgitee) -
Jenkins
Вытащите код из репозитория -
mavem
Построить проект - статический анализ кода
- модульный тест
-
build
зеркало -
push
Зеркало на зеркальный склад (используемый зеркальный склад - зеркальный склад - Служба обновления
Установка Дженкинса
скачать Дженкинс
отjenkins.io/download/скачать соответствующийjenkins
пароль инициализации
Локальный доступ:http://localhost:8080введите пароль
Выберите плагин
Войдите в пользовательский интерфейс плагина и выберите второй (потому что мы используемPipelines
)
проверить сPipelines
связанные плагины
Дождитесь завершения установки плагина
Настроить имя пользователя и пароль
Глобальная конфигурация
Управление системой - «Глобальный конфигурация инструмента настроить Git, JDK и Maven
Конфигурация безопасности
Управление системой — «Конфигурация глобальной безопасности»
- Установите флажок Разрешить анонимный доступ для чтения.
- Отменить предотвращение подделки межсайтовых запросов
Новое задание
Новая задача - "Сборная линия
скрипт сборки
Проверьте удаленную сборку триггера (адрес триггера WebHooks), заполните простуюPipeline script
#!groovy
pipeline{
agent any
stages {
stage('test'){
steps {
echo "hello world"
}
}
}
}
тестовый скрипт
Построить сейчас
консольный вывод
gitee интегрирует WebHooks
Добавить SSH открытый ключ
Настроить веб-кауки
использоватьnatappРеализовать проникновение в интранет
Изменить скрипт
ИсправлятьPipeline script
#!groovy
pipeline{
agent any
//定义仓库地址
environment {
REPOSITORY="https://gitee.com/merryyou/sso-merryyou.git"
}
stages {
stage('获取代码'){
steps {
echo "start fetch code from git:${REPOSITORY}"
//清空当前目录
deleteDir()
//拉去代码
git "${REPOSITORY}"
}
}
stage('代码静态检查'){
steps {
//伪代码检查
echo "start code check"
}
}
stage('编译+单元测试'){
steps {
echo "start compile"
//切换目录
dir('sso-client1') {
//重新打包
bat 'mvn -Dmaven.test.skip=true -U clean install'
}
}
}
stage('构建镜像'){
steps {
echo "start build image"
dir('sso-client1') {
//build镜像
bat 'docker build -t hub.c.163.com/longfeizheng/sso-client1:1.0 .'
//登录163云仓库
bat 'docker login -u longfei_zheng@163.com -p password hub.c.163.com'
//推送镜像到163仓库
bat 'docker push hub.c.163.com/longfeizheng/sso-client1:1.0'
}
}
}
stage('启动服务'){
steps {
echo "start sso-merryyou"
//重启服务
bat 'docker-compose up -d --build'
}
}
}
}
Несколько основных концепций Pipeline:
- Стадия: Стадия, конвейер можно разделить на несколько стадий, каждая стадия представляет собой группу операций. Обратите внимание, что этап — это концепция логической группировки, которая может охватывать несколько узлов.
- Узел: узел, узел — это узел Jenkins, или мастер, или агент, который является конкретной средой выполнения для выполнения шага.
- Шаг: Шаг — это самая основная единица работы, начиная от создания каталога и заканчивая созданием образа Docker, предоставляемого различными плагинами Jenkins.
Дополнительные ссылки на синтаксис конвейера:Подробное объяснение синтаксиса конвейера
контрольная работа
docker-compose up -d
запустить службу
доступhttp://sso-taobao:8083/client1Авторизоваться
Эффект от изменения содержимого следующий:
Больше визуализаций
загрузка кода
- github:GitHub.com/Longfeizhen…
- gitee:git ee.com/Merry has/anytime…
рекомендуемая статья
- Java для создания серии блокчейнов
- Серия анализов исходного кода Spring Security
- Серия Spring Data Jpa
- Все о деревьях в структурах данных (Java Edition)
🙂 🙂 🙂 Подписывайтесь на апплет WeChatкурс Java-архитектораСкучно по дороге на работу и обратно? Вы все еще читаете романы и новости? Не знаете, как улучшить свои навыки? Да ладно, вот нужные вам статьи по архитектуре Java, инженеры Java читают 1.5w+, чего вы ждете?