[Publishing House Direct Supply] Jenkins 2.x Руководство по практике Zhai Zhijun Jenkins2.x Ядра.

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товара
- Информация о товаре
- Фотографии

| Практическое руководство Jenkins 2.x | ||
| Ценообразование | 79.00 |
| Издатель | Электронная промышленная пресса | |
| Издание | 1 | |
| Опубликованная дата | Апрель 2019 года | |
| формат | 16 | |
| автор | Чжай Чжиджун | |
| Украсить | Оплата в мягкой обложке | |
| Количество страниц | 252 | |
| Число слов | 350000 | |
| Кодирование ISBN | 9787121360503 | |








«Практическое руководство по Jenkins 2.x» сначала знакомит автора с уникальными взглядами автора на производительность разработки программного обеспечения, а затем помогает новичкам начать работу с конвейером Jenkins на примере Hello world, за которым следует подробное введение.
Синтаксис конвейера Jenkins, способы реализации различных этапов непрерывной интеграции и непрерывной доставки в конвейере Jenkins, включая построение, тестирование, управление продуктами, развертывание и т. д., а также когда существующий конвейер
Существует много способов расширить конвейер Jenkins, если эти шаги не соответствуют вашим потребностям.Позже мы расскажем, как Jenkins интегрирует несколько сторонних систем для обеспечения ChatOps, а также автоматизации работы и обслуживания;чтобы не допустить, чтобы читатели
“Я не знаю, где выйти.”, в этой книге рассказывается, как спроектировать конвейер на простом примере.
Среди читателей «Практического руководства Jenkins 2.x»: технические специалисты и менеджеры, которые хотят внедрить непрерывную интеграцию, непрерывную доставку и DevOps через Jenkins для повышения производительности команды.


1 О продуктивности разработки программного обеспечения 1
1.1 С другой точки зрения“Улучшение производительности разработки программного обеспечения” 1
1.1.1 Повышение производительности разработки программного обеспечения с точки зрения трудовых факторов 2
1.1.2 Повышение производительности разработки программного обеспечения с точки зрения элементов объекта труда 2
1.1.3 Рассмотреть возможность повышения производительности разработки программного обеспечения с точки зрения элементов производственных инструментов 3
1.1.4 Значение трех элементов производительности 3
1.2 Введение в Дженкинс 4
1.3 Дженкинс и DevOps 4
1.4 Резюме этой главы 5
2 конвейера Начало работы 6
2.1 Что такое конвейер 6
2.2 Что такое Jenkinsfile 7
2.3 Выбор синтаксиса конвейера 7
2.4 Создание динамического конвейера 9
2.5. Извлеките конвейер 11 из библиотеки контроля версий.
2.6 Использование Maven для создания приложений Java 12
2.7 Краткое содержание этой главы 15
Объяснение синтаксиса 3 конвейеров 16
3.1 Требуемые знания Groovy 16
3.2 Состав трубопровода 18
3.2.1 конвейер: Простая структура 18.
3.2.2 Шаг 19
3.3 пост часть 20
3.4 Инструкции, поддерживаемые конвейером 21
3.5 Настройка самого конвейера 22
3.6 Использование скриптов в декларативных конвейерах 24
3.7 встроенные базовые шаги конвейера 25
3.7.1 Шаги, связанные с каталогом файлов 25
3.7.2 Действия, связанные с продуктом 27
3.7.3 Действия, связанные с командами 28
3.7.4 Другие шаги 29
3.7.5 Советы 31
3.8 Краткое содержание этой главы 36
4 Переменные среды и инструменты сборки 37
4.1 Переменные среды 37
4.1.1 Встроенные переменные Jenkins 37
4.1.2 Настройка переменных среды конвейера 38
4.1.3 Настройка глобальных переменных среды 39
4.2 Инструменты сборки 40
4.2.1 Выбор инструментов сборки 40
4.2.2 Знакомство с командой инструментов 41
4.2.3 Создание среды JDK 41
4.2.4 Maven 42
4.2.5 Построение языковой среды Go 45
4.2.6 Настройка среды Python 46
4.3. Использование переменных среды для поддержки дополнительных инструментов сборки 47
4.4 Использование инструментов для многоверсионной компиляции 48
4.5 Сводка этой главы 49
5 качество кода 50
5.1 Статический анализ кода 50
5.1.1 Проверка спецификации кода 50
5.1.2 Использование PMD для проверки спецификации кода 51
5.1.3 Различия между статическими анализаторами кода 53
5.2 Модульное тестирование 53
5.2.1 Отчет о модульном тестировании JUnit 53
5.2.2 JaCoCo реализует покрытие кода 55
5.2.3 Чем выше покрытие кода, тем выше качество программного обеспечения 58
5.3 Тестирование производительности 59
5.3.1 Подготовка среды тестирования производительности 59
5.3.2 Запуск тестов JMeter 59
5.4 SonarQube: непрерывная проверка качества кода 61
5.4.1 Интеграция Maven и SonarQube 62
5.4.2 Интеграция Jenkins и SonarQube 64
5.4.3 Использование сканера SonarQube для сканирования кода 67
5.4.4 SonarQube интегрирует p3c 68
5.4.5 Отправка отчетов об анализе в GitLab 70
5.5 Отчет об испытаниях Allure: еще более красивый отчет об испытаниях 72
5.5.1 Введение в отчет об испытаниях Allure 72
5.5.2 Интеграция Allure, Maven и Jenkins 73
5.6 Когда мы говорим о качестве, о чем мы говорим 76
5.7 Краткое содержание этой главы 76
6 Выполнение триггерного конвейера 77
6.1 Что такое условие триггера 77
6.2 Триггер по времени 77
6.2.1 Выполнение по расписанию: cron 77
6.2.2 Опрос репозитория кода: pollSCM 79
6.3 Запуск событий 79
6.3.1 Запускается вышестоящими задачами: восходящий 79
6.3.2 Триггер уведомления GitLab 80
6.3.3 Реализация триггера 84 GitLab в конвейере
6.4. Отправка информации о статусе сборки в GitLab 85
6.5. Использование плагина Generic Webhook Trigger для реализации триггера 87
6.5.1 Извлечение значений параметров из запросов Webhook 89
6.5.2 Запуск конкретного проекта Jenkins 90
6.5.3 Определите, запускать ли выполнение проекта Jenkins на основе значений параметров запроса 91
6.5.4 Управление печатным контентом 91
6.5.5 Реакция управления 92
6.6 Краткое содержание этой главы 92
7 Многофилиальная сборка 93
7.1 Создание многоветвевого конвейера 93
7.2 Развертывание в различных средах в зависимости от филиалов 96
7.3 Использование директивы When 97
7.4 Триггер GitLab поддерживает многоветвевые конвейеры 99
7.5 Применение подключаемого модуля Generic Webhook Trigger в сценарии многоветвевого конвейера 99
7.6 Краткое содержание этой главы 100
8 Параметризованный конвейер 101
8.1 Что такое параметризованный конвейер 101
8.2 Использование директивы параметров 101
8.2.1 параметры Типы параметров, поддерживаемые инструкцией 102
8.2.2 Несколько параметров 104
8.3 Передача параметров и триггер из другого конвейера 104
8.4 Использование подключаемого модуля Conditional BuildStep для обработки сложной логики принятия решений 106
8.5 Использование ввода Шаг 107
8.5.1 Простое использование шага ввода 108
8.5.2 Сложное использование шага ввода 109
8.6 Советы 111
8.6.1 Получение информации о восходящем трубопроводе 111
8.6.2 Настройте конвейер на автоматическое завершение после истечения времени автоматического ввода 111
8.7 Краткое содержание этой главы 111
9 Управление учетными данными 112
9.1 Зачем управлять учетными данными 112
9.2 Что такое ваучер 112
9.3 Создание учетных данных 113
9.4 Часто используемые учетные данные 114
9.4.1 Secret text 114
9.4.2 Username with password 115
9.4.3 Secret file 115
9.4.4 SSH Username with private key 116
9.5 Элегантное использование учетных данных 117
9.6 Использование хранилища HashiCorp 118
9.6.1 Введение в хранилище HashiCorp 118
9.6.2 Интеграция HashiCorp Vault 118
9.7 Скрытие конфиденциальной информации в журналах Jenkins 120
9.8 Краткое содержание этой главы 122
10 Управление продуктами123
10.1 Что представляет собой продукт 123
10.2 Склад управления продукцией 123
10.3 Переход к библиотеке артефактов 124
10.4 Управление артефактами стека Java 125
10.4.1. Использование Maven для публикации продуктов на Nexus 125.
10.4.2 Публикация продуктов с помощью плагина Nexus 127
10.5. Использование Nexus для управления образами Docker 128
10.5.1 Nexus: создание частного склада Docker 129
10.5.2 Создание учетных данных частного хранилища Docker 130
10.5.3 Сборка и публикация образа Docker 130
10.5.4 Советы 131
10.6 Управление оригинальными продуктами 131
10.6.1 Создание склада сырья 131
10.6.2 Загрузка продуктов и получение продуктов 132
10.7 Копирование артефактов из других конвейеров 134
10.8 Управление номерами версий 135
10.8.1 Семантическое управление версиями 135
10.8.2 Роль версии № 136
10.8.3 Плагин номера версии для удобного создания номеров версий 137
10.9 Советы 138
10.9.1 Проблема с разрешениями анонимных пользователей Nexus 138
10.9.2 Емкость библиотеки продуктов должна быть больше 139
10.10 Краткое содержание этой главы 139
11 Визуальное построение и виды 140
11.1 Плагин Green Balls 140
11.2 Плагин Build Monitor View 141
11.3 Использование представлений 143
11.3.1 Использование размеров проекта для создания видов 143
11.3.2 Настройка вида по умолчанию 145
11.4 Краткое содержание этой главы 146
12 Автоматическое развертывание 147
12.1 Что сказать о развертывании 147
12.1.1 Развертывание не соответствует версии 147
12.1.2 Что такое автоматическое развертывание 148
12.1.3 Проблемы, решаемые с помощью средств автоматизированной эксплуатации и технического обслуживания 148
12.2 Jenkins интегрирует Ansible для автоматического развертывания 149
12.2.1 Введение в Ansible 149
12.2.2 Интеграция Jenkins и Ansible 150
12.2.3 Подробное объяснение плагина Ansible 153
12.3 Является ли развертывание вручную более надежным, чем автоматическое? 156
12.4 Как начать автоматическое развертывание 157
12.5 Советы 158
12.6 Краткое содержание этой главы 159
13 Уведомления 160
13.1 Уведомление по электронной почте 160
13.1.1 Использование встроенной функции уведомления по электронной почте Jenkins 160
13.1.2 Использование плагина расширения электронной почты для отправки уведомлений 162
13.2 Уведомление о DingTalk 164
13.3 Уведомление о HTTP-запросе 166
13.4 Краткое содержание этой главы 168
14 Распределенное и параллельное построение 169
14.1 Архитектура Дженкинса 169
14.2 Добавить агента 170
14.2.1 Маркировочные агенты 170
14.2.2 Добавление агента через протокол JNLP 171
14.2.3 Добавление агента Windows через протокол JNLP 175
14.2.4 Добавление агента через плагин Swarm 175
14.2.5 Подробное объяснение агентской части 176
14.2.6 Резюме 180
14.3 Выгрузка задачи сборки в Docker 180
14.3.1 Установите Docker 180 на агенте Jenkins
14.3.2 Использование Docker 180
14.3.3 Настройка частного склада Docker 181
14.4 Параллельная сборка 182
14.4.1 Применение параллельных сборок в разных ветвях 183
14.4.2 Параллельные шаги 184
14.4.3 Различия между параллельными фазами и параллельными этапами 185
14.5 Краткое содержание данной главы 185
15 Расширение трубопровода 186
15.1 Зачем расширять трубопровод 186
15.2 Определение функций в конвейере 186
15.3 Использование расширений общей библиотеки 187
15.3.1 Создание общих библиотек 187
15.3.2 Использование общих библиотек 189
15.3.3 Дополнительные варианты использования @Library 189
15.3.4 Подробное введение в структуру разделяемой библиотеки 190
15.3.5 Использование общих библиотек для реализации шаблонов конвейеров 192
15.4 Реализация этапов конвейера через плагин Jenkins 193
15.4.1 Создание скелета кода подключаемого модуля Jenkins 193
15.4.2 Запуск теста Дженкинса: mvn hpi:run 196
15.4.3 Использование приветствия в Jenkinsfile, шаг 196
15.4.4 Плагин глобальной конфигурации 197
15.5 Краткое содержание данной главы 199
16 Эксплуатация и обслуживание Jenkins 200
16.1 Управление сертификацией 200
16.1.1 Использование базы данных пользователей, поставляемой с Jenkins 200
16.1.2 Использование аутентификации LDAP 202
16.2 Управление авторизацией 204
16.2.1 Использование авторизации подключаемого модуля стратегии авторизации на основе ролей 205
16.2.2 Роли управления 206
16.2.3 Разрешения 207
16.2.4 Назначение ролей 208
16.2.5 Резюме 210
16.3 Мониторинг Дженкинса 210
16.3.1 Мониторинг с помощью плагина мониторинга 210
16.3.2 Мониторинг с помощью Prometheus 211
16.4 Резервное копирование Дженкинса 213
16.4.1 JENKINS_HOME Введение 213
16.4.2 Резервное копирование с использованием подключаемого модуля периодического резервного копирования 214
16,5 Китайский 216
16.6 Конфигурация Jenkins как код 216
16.7 Настройка Jenkins с помощью init.groovy 217
16.8 Краткое содержание данной главы 219
17 Опыт автоматизированной эксплуатации и обслуживания 220
17.1 Практический опыт автоматизированной эксплуатации и обслуживания небольшими бригадами 220
17.1.1 Мониторинг и оповещение в первую очередь 220
17.1.2 Управление версиями конфигурации должно выполняться с самого начала 223
17.1.3 Дженкинсизация: передача работы по упаковке Дженкинсу 223
17.1.4 Отправка продуктов в Nexus для управления 224
17.1.5 Позвольте Дженкинсу помочь нам выполнить Ansible 225
17.1.6 Резюме 225
17.2 Практика ChatOps 226
17.2.1 Rocket.Chat 226
17.2.2 Hubot 227
17.2.3 Интеграция Hubot и Jenkins 229
17.2.4 Дженкинс отправляет сообщения в Rocket.Chat 231
17.3 Краткое содержание данной главы 231
18 Как спроектировать трубопровод 232
18.1 Этапы проектирования трубопровода 232
18.2 На примере X спроектируйте конвейер 233
18.3 Подробное объяснение конвейера X 236
18.3.1 Максимально скройте все конкретные операции в общих библиотеках 236
18.3.2 Генерировать артефакты только один раз 236
18.3.3 Используйте один и тот же метод развертывания для разных сред 237
18.3.4 Управление версиями конфигурации 238
18.3.5 Системное интеграционное тестирование 238
18.3.6 Как реализовать развертывание указанной версии 238
18.3.7 Разработка магистрали, выпуск ветки 239
18.4 Краткое содержание данной главы 239








