28
Continuous Integration с помощью TeamCity Your Successful IT Career www.daxx.com.ua

Continuous Integration с помощью TeamCity

Embed Size (px)

DESCRIPTION

Талантливый.NET разработчик и опытный тимлид Евгений Шеретов выступил с докладом на февральской встрече .NET Users Group в Днепропетровске и поделился опытом относительно интеграции в ходе командной разработки.

Citation preview

Page 1: Continuous Integration с помощью TeamCity

Continuous Integration с помощью TeamCity

Your Successful IT Career www.daxx.com.ua

Page 2: Continuous Integration с помощью TeamCity

Your Successful IT Career www.daxx.com.ua

• Занимает должность лидера проекта в компании Daxx

• сертифицированый ScrumMaster • 8+ лет опыта разработки• 5+ лет опыта применения Scrum и Agile

методологий• 2+ лет опыта работы с методологией

Teamcity• специализируется в веб разработке

и .NET технологиях.

Евгений Шеретов

Page 3: Continuous Integration с помощью TeamCity

• Did you ever get broken build from TFS?

Your Successful IT Career www.daxx.com.ua

Page 4: Continuous Integration с помощью TeamCity

Did you everget unexpected exceptions on the page

after someone checked-in?

Your Successful IT Career www.daxx.com.ua

Page 5: Continuous Integration с помощью TeamCity

Did you everget unexpected exceptions in sublayouts

after someone checked-in?

Your Successful IT Career www.daxx.com.ua

Page 6: Continuous Integration с помощью TeamCity

У вас когда-либо..

• Возникали ли ошибки в ‘dev’ среде, которых нет в локальной?

• Как часто вы запускаете ’Unit tests’?• Как насчет ‘Acceptance tests’?• Каким образом вы проводите ‘Code review’?• Всегда ли обновлена ваша ‘dev’ среда

разработки? • …

Your Successful IT Career www.daxx.com.ua

Page 7: Continuous Integration с помощью TeamCity

Your Successful IT Career www.daxx.com.ua

Page 8: Continuous Integration с помощью TeamCity

Your Successful IT Career www.daxx.com.ua

Page 9: Continuous Integration с помощью TeamCity

Для чего нужна CI?

• Вместо объемных и редких интеграций – короткие и частые

• Визуализация процесса сборки проекта, !!!Тревога!!!• Минимизация ”состояние поломанной сборки”• Непрерывное модульное и приемочное тестирование • Непрерывное автоматическое развертывание• Непрерывный анализ кода

Your Successful IT Career www.daxx.com.ua

Page 10: Continuous Integration с помощью TeamCity

Какие системы нам известны?

• Cruise Control .NET (open source)• TFS Builds (Microsoft TFS)• Bamboo (Atlassian)• TeamCity (JetBrains)• …

Your Successful IT Career www.daxx.com.ua

Page 11: Continuous Integration с помощью TeamCity

TeamCity

Your Successful IT Career www.daxx.com.ua

Page 12: Continuous Integration с помощью TeamCity

Скачиваем и Устанавливаем

Your Successful IT Career www.daxx.com.ua

Page 13: Continuous Integration с помощью TeamCity

Открываем и Регистрируем Аккаунт Администратора

Your Successful IT Career www.daxx.com.ua

Page 14: Continuous Integration с помощью TeamCity

Создаем Проект

Your Successful IT Career www.daxx.com.ua

Page 15: Continuous Integration с помощью TeamCity

Конфигурация сборки

Your Successful IT Career www.daxx.com.ua

Page 16: Continuous Integration с помощью TeamCity

Настраиваем систему контроля версий

Your Successful IT Career www.daxx.com.ua

Page 17: Continuous Integration с помощью TeamCity

Создаем Триггеры сборки

Your Successful IT Career www.daxx.com.ua

Page 18: Continuous Integration с помощью TeamCity

Шаг 1 – Сборка проекта

Your Successful IT Career www.daxx.com.ua

Page 19: Continuous Integration с помощью TeamCity

Шаг 2 – Запуск Unit tests

Your Successful IT Career www.daxx.com.ua

Page 20: Continuous Integration с помощью TeamCity

Конфигурация ‘Deployment’

• Создать новую конфигурацию “Deployment”• Триггер “Deployment”, если сборка прошла

успешно

• Создаем ‘Artifact dependency’ и копируем в исходники ‘dev’ среды

Your Successful IT Career www.daxx.com.ua

Page 21: Continuous Integration с помощью TeamCity

Шаг 1 – Запуск Acceptance Tests

Your Successful IT Career www.daxx.com.ua

Page 22: Continuous Integration с помощью TeamCity

Что еще возможно сделать?

• Покрытие кода (ncover/dotCover/…)• Поиск дубликатов• Анализ кода (FxCop, Inspections)• HTML/css валидация W3C• Run nAnt / Powershel / Command line

operations

Your Successful IT Career www.daxx.com.ua

Page 23: Continuous Integration с помощью TeamCity

Что необходимо установить?

• Visual Studio 2010 / 2012 (MSBuild, MSTest)• TeamCity 6.5 / 7.1• Firefox (для Приёмочного тестирования)

Your Successful IT Career www.daxx.com.ua

Page 24: Continuous Integration с помощью TeamCity

Живая Презентация

• Запуск процесса сборки• Результаты сборки• Логи автоматической сборки• Change-set - Code review• Создание Артефактов Сборки• Auto Deployment to dev• Результаты Авто Тестирования

Your Successful IT Career www.daxx.com.ua

Page 25: Continuous Integration с помощью TeamCity

Еще Немного

• История автоматических сборок• История выполненного тестирования• System Tray или Email оповещение• Поиск Дубликатов• Анализ кода• Покрытие кода• …

Your Successful IT Career www.daxx.com.ua

Page 26: Continuous Integration с помощью TeamCity

Я Начинающий Разработчик

• Ошибка компиляции• Ошибка логики покрытой юнит тестами• Ошибка на странице или

в коде ‘User Control’• Ошибка в сценарии

программы• Ошибка в стиле кода• Исправление ошибок проверка результата

Your Successful IT Career www.daxx.com.ua

Page 27: Continuous Integration с помощью TeamCity

Бонус: Интеграция Youtrack

• Поисковый инструмент• Ассоцииация Авто Сборки и задачи в

трекере• Консоль команд• Команды в комментариях к ‘Change-Set’

Your Successful IT Career www.daxx.com.ua

Page 28: Continuous Integration с помощью TeamCity

Your Successful IT Career www.daxx.com.ua

• Евгений Шеретов• Email: [email protected].• Skype: sheretov_ev.• Twitter: @sheretovev

Спасибо за ваше внимание