Best Practices for Continuous Integration Setup
-
Upload
nikita-skvortsov -
Category
Technology
-
view
360 -
download
1
description
Transcript of Best Practices for Continuous Integration Setup
Best Practices for Continuous Integration Setup
Михаил КузьминНикита СкворцовJetBrains
Проблемы
1. Билды зависят от окружения
2. Артефакты в VCS
3. Релизится не то, что было протестировано
4. Рассинхронизация билдов в очереди
5. Билды с параметрами
6. Красные билды
cd D:\Project
Абсолютные пути
Script 1Script 2Script 3
Несколько шагов в билде
#1 Делайте билды переносимыми
Зависимости
VCSCI
Sources
Artifacts
Зависимости
VCS
Artifact Repository
CISources
Artifacts
Артефакты билда в VCS
CIVCS
Artifact
Артефакты билда в VCS
CIVCS
Artifact
#2 Пользуйтесь репозиториями артефактов
Demo: NuGet
Тесты на разных платформах
Тесты на разных платформах
Тесты на разных платформах
#3 Переиспользуйте артефакты между билдами
Demo: Artifact Dependencies
Commit 1
Compile Test
Очередь билдов
Compile Test
Очередь билдов
Ожидание
Commit 1
Compile
Commit 2 Commit 3
Очередь билдовCommit 1
Test
Ожидание
Compile
Revision 1 Revision 3
Очередь билдовCommit 1 Commit 2 Commit 3
Test
#4 Синхронизируйте цепочку билдов
Compile
Очередь билдовCommit 1 Commit 2 Commit 3
Test
Revision 1 Revision 3
Compile
Очередь билдовCommit 1 Commit 2 Commit 3
Test
Revision 1 Revision 1
Demo: Snapshot Dependencies
Staging Production
Бидл с параметрами
Статус проекта
История билдов
#5 Билды должны повторять одинаковую процедуру
Demo: Configuration Templates
Красные билды
#6 Исправляйте красные билды
Demo: Feature Branches
Решения
1. Делайте билды переносимыми
2. Пользуйтесь репозиториями артефактов
3. Переиспользуйте артефакты между билдами
4. Синхронизируйте цепочку билдов
5. Билды должны повторять одинаковую процедуру
6. Исправляйте красные билды
Спасибо за внимание!
Никита Скворцов[email protected]
Михаил Кузьмин[email protected]
http://www.jetbrains.com/teamcity/