то такое "Непрерывная Интеграция", зачем она нужна и с чем ее едят? Правда ли, что она нужна только для тестировщиков? На все эти вопросы мы постараемся найти ответы в ходе выступления Щербакова Ильи на нашей следующей юзер-группе.
Применение нейронных сетей и генетических алгоритмов при торговле на бирже.
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
1. Continuous Integration для чайников
вместе с TeamCity
Илья Щербаков
Codemasters International
QA Engineer
TULADEV.NET ischerbakov@codemastersintl.com
2. Жизненный цикл программного обеспечения
1. Возникновение и исследование идеи
2. Анализ требований и проектирование
3. Программирование
4. Тестирование и отладка
5. Ввод в эксплуатацию (начало коммерческого
использования), маркетинговое продвижение, SEO
оптимизация
6. Эксплуатация, сопровождение, развитие
7. Завершение эксплуатации, прекращение поддержки
программного продукта
TULADEV.NET
3. Модели жизненного цикла
программного обеспечения
• Водопадная модель
Предложена Уинстом Ройсом (1970). Включает формирование
требований, проектирование, реализацию, тестирование, внедрение, экс
плуатацию и сопровождение
• Итерационая модель (инкрементальная)
Предложена Т. Гилбом в 1970-е года. Предполагает разбиение
жизненного цикла проекта на итерации.
• Спиральная модель
Предложена Барри Боэмом в середине 1980х годов. Программное
обеспечение создается в несколько итераций (витков спирали) методом
прототипирования. Каждая итерация преследует цель создания
фрагмента ПО. Особое внимание уделяется рискам на очередную
итерацию.
TULADEV.NET
4. Непрерывная Интеграция
• Что такое CI?
• Что включает в себя Организация CI?
Получение исходников
Сборка
Выполнение тестов
Развертывание
Отчеты
• Кто заинтересован в процессе CI?
TULADEV.NET
5. Преимущества и недостатки
Непрерывной Интеграции
+ Проблемы интеграции выявляются и исправляются
быстро, что оказывается дешевле;
+ Немедленный прогон модульных тестов для свежих
изменений;
+ Постоянное наличие текущей стабильной версии
вместе с продуктами
+ Немедленный эффект от неполного или
неработающего кода приучает разработчиков к работе
в итеративном режиме с более коротким циклом
- Поддержание среды CI
- Нужда в выделенном сервере для CI
- Немедленный эффект от неполного или неработающего
кода отучает разработчиков от выполнения периодических
резервных включений кода в репозиторий
TULADEV.NET
7. Что нужно, чтобы пользоваться TeamCity?
- Желание
- Репозиторий
- Скачать и установить компоненты TeamCity
- Создать сценарии билдов
TULADEV.NET
8. Какие плюшки дает TeamCity?
Заменит ли он сало?
+ Pro-версия на 20 конфигураций и 3
агента
+ Поддержка платформ
Java, .NET, Ruby
+ Наличие плагинов для многих IDE
(Eclipse, VS, Redmine и др.)
+ Расширяемость сервера и агентов
плагинами Java
+ Возможность протестировать код
перед коммитом (Personal Build)
+ Параллельность билдов
+ Интеграция с системами оценки
кода
(покрытие, инспецция, дублицировани
е)
+ Интеграция с багтреккерами
TULADEV.NET + Tray-Notifier
21. Спасибо за внимание!
Ссылки и полезные материалы:
http://www.martinfowler.com/articles/continuousIntegration.html
http://confluence.jetbrains.com
http://www.iis.net/
http://blog.winhost.com/using-msdeploy-to-publish-your-site/
http://matt-roberts.me/dev/2012/04/04/automated-web-app-deployment-with-
teamcity-and-msdeploy/
http://msdn.microsoft.com/ru-ru/library/dd394698(v=vs.100).aspx
TULADEV.NET
Notes de l'éditeur
http://ru.wikipedia.org/wiki/Жизненный_цикл_программного_обеспечения. Итерационная модель. Модель предполагает разбиение жизненного цикла проекта на итерации, включающие все процессы разработки. Цель каждой итерации – получение стабильной версии. Всегда есть возможность отката к предыдущей стабильной версии.Спиральная модельПредложена Барри Боэмом в середине 1980х годов. Программное обеспечение создается в несколько итераций (витков спирали) методом прототипирования. Каждая итерация преследует цель создания фрагмента ПО. Уточняются цели и характеристики проекта, оценивается качество полученных результатов, планируются работы на следующую итерацию. Особое внимание уделяется рискам на очередную итерацию (дефицит специалистов, реалистичность сроков и бюджета, реализация несоответствющей функциональности, ненужная оптимизация, нехватка информации о внешних компонентах и т.д.)
It is required to download CollabNet Subversion 1.7x and JetBrains VS.NET Plugin