8 (905) 200-03-37 Владивосток
с 09:00 до 19:00

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

Цена: 1 002руб.    (¥47.4)
Артикул: 591624849315

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

Этот товар на Таобао Описание товара
Продавец:华心图书专营店
Адрес:Шанхай
Рейтинг:
Всего отзывов:0
Положительных:0
Добавить в корзину
Другие товары этого продавца
¥982 071руб.
¥ 118 82.71 748руб.
¥82.81 750руб.
¥871 839руб.



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



«Практическое руководство по 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