CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY

2,661 views

Published on

то такое "Непрерывная Интеграция", зачем она нужна и с чем ее едят? Правда ли, что она нужна только для тестировщиков? На все эти вопросы мы постараемся найти ответы в ходе выступления Щербакова Ильи на нашей следующей юзер-группе.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,661
On SlideShare
0
From Embeds
0
Number of Embeds
63
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • http://ru.wikipedia.org/wiki/Жизненный_цикл_программного_обеспечения. Итерационная модель. Модель предполагает разбиение жизненного цикла проекта на итерации, включающие все процессы разработки. Цель каждой итерации – получение стабильной версии. Всегда есть возможность отката к предыдущей стабильной версии.Спиральная модельПредложена Барри Боэмом в середине 1980х годов. Программное обеспечение создается в несколько итераций (витков спирали) методом прототипирования. Каждая итерация преследует цель создания фрагмента ПО. Уточняются цели и характеристики проекта, оценивается качество полученных результатов, планируются работы на следующую итерацию. Особое внимание уделяется рискам на очередную итерацию (дефицит специалистов, реалистичность сроков и бюджета, реализация несоответствющей функциональности, ненужная оптимизация, нехватка информации о внешних компонентах и т.д.)
  • It is required to download CollabNet Subversion 1.7x and JetBrains VS.NET Plugin
  • CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY

    1. 1. Continuous Integration для чайников вместе с TeamCity Илья Щербаков Codemasters International QA Engineer TULADEV.NET ischerbakov@codemastersintl.com
    2. 2. Жизненный цикл программного обеспечения 1. Возникновение и исследование идеи 2. Анализ требований и проектирование 3. Программирование 4. Тестирование и отладка 5. Ввод в эксплуатацию (начало коммерческого использования), маркетинговое продвижение, SEO оптимизация 6. Эксплуатация, сопровождение, развитие 7. Завершение эксплуатации, прекращение поддержки программного продуктаTULADEV.NET
    3. 3. Модели жизненного цикла программного обеспечения • Водопадная модель Предложена Уинстом Ройсом (1970). Включает формирование требований, проектирование, реализацию, тестирование, внедрение, экс плуатацию и сопровождение • Итерационая модель (инкрементальная) Предложена Т. Гилбом в 1970-е года. Предполагает разбиение жизненного цикла проекта на итерации. • Спиральная модель Предложена Барри Боэмом в середине 1980х годов. Программное обеспечение создается в несколько итераций (витков спирали) методом прототипирования. Каждая итерация преследует цель создания фрагмента ПО. Особое внимание уделяется рискам на очередную итерацию.TULADEV.NET
    4. 4. Непрерывная Интеграция• Что такое CI?• Что включает в себя Организация CI?  Получение исходников  Сборка  Выполнение тестов  Развертывание  Отчеты• Кто заинтересован в процессе CI?TULADEV.NET
    5. 5. Преимущества и недостатки Непрерывной Интеграции + Проблемы интеграции выявляются и исправляются быстро, что оказывается дешевле; + Немедленный прогон модульных тестов для свежих изменений; + Постоянное наличие текущей стабильной версии вместе с продуктами + Немедленный эффект от неполного или неработающего кода приучает разработчиков к работе в итеративном режиме с более коротким циклом- Поддержание среды CI- Нужда в выделенном сервере для CI- Немедленный эффект от неполного или неработающегокода отучает разработчиков от выполнения периодическихрезервных включений кода в репозиторийTULADEV.NET
    6. 6. Средства обеспечения Непрерывной Интеграции TeamCity Hudson Bamboo CruiseControl BuildBot … и другие...TULADEV.NET
    7. 7. Что нужно, чтобы пользоваться TeamCity? - Желание  - Репозиторий - Скачать и установить компоненты TeamCity - Создать сценарии билдовTULADEV.NET
    8. 8. Какие плюшки дает TeamCity? Заменит ли он сало? + Pro-версия на 20 конфигураций и 3 агента + Поддержка платформ Java, .NET, Ruby + Наличие плагинов для многих IDE (Eclipse, VS, Redmine и др.) + Расширяемость сервера и агентов плагинами Java + Возможность протестировать код перед коммитом (Personal Build) + Параллельность билдов + Интеграция с системами оценки кода (покрытие, инспецция, дублицировани е) + Интеграция с багтреккерамиTULADEV.NET + Tray-Notifier
    9. 9. Инфраструктура CI на базе TeamCityTULADEV.NET
    10. 10. Интерфейс TeamCity 7.1TULADEV.NET
    11. 11. Трансформация конфигурационных файловФайл Web.QA.configTULADEV.NET
    12. 12. Параметризация билдовПример использования:MSBuild.exe%Checkoutdirprefix%%ProjectConfiguration%SiteTulaDevPresentationTulaDevPresentation.sln/p:Configuration=%ProjectConfiguration%;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=%Deploydirprefix%%ProjectConfiguration% TULADEV.NET
    13. 13. Компиляция приложения через MSBuild.exe (см. листинг на след. слайде)TULADEV.NET
    14. 14. Компиляция приложения через MSBuild.exe (Листинг)C:cd C:WindowsMicrosoft.NETFrameworkv4.0.30319MSBuild.exe%Checkoutdirprefix%%ProjectConfiguration%SiteTulaDevPresentationTulaDevPresentation.sln/p:Configuration=%ProjectConfiguration%;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=%Deploydirprefix%%ProjectConfiguration% TULADEV.NET
    15. 15. Развертывание проекта на IIS (см. листинг на след. слайде)TULADEV.NET
    16. 16. Развертывание проекта на IIS (Листинг)c:cd "c:Program Files (x86)IISMicrosoft Web DeployV3"msdeploy.exe -verb:sync -source:iisApp="%Deploydirprefix%%ProjectConfiguration%" -dest:package=%Deploydirprefix%%ProjectConfiguration%tuladev_site.zipmsdeploy.exe -verb:sync -source:package="%Deploydirprefix%%ProjectConfiguration%tuladev_site.zip" -dest:iisApp="TuladevPresentationQA" TULADEV.NET
    17. 17. Раз, два, три и в Продакшен?!Билдим проект в отдельную папку:C:cd C:WindowsMicrosoft.NETFrameworkv4.0.30319MSBuild.exeb:TuladevCheckoutStagingSiteTulaDevPresentationTulaDevPresentation.sln/p:Configuration=Production;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=b:tuladevdeployProductionСинхронизируем Production cо Staging-окружением:"c:Program Files (x86)IISMicrosoft Web Deploy V3msdeploy.exe" -verb:sync -source:contentpath="c:inetpubwwwroottuladevpresentationStaging" -dest:contentpath="c:inetpubwwwroottuladevpresentationProduction",computerName=ISCherbakovWS.Codemasters.LocalКопируем Web.Configcopy "b:tuladevdeployProductionWeb.config""c:inetpubwwwroottuladevpresentationProduction" /V /YTULADEV.NET
    18. 18. Демонстрация работы TeamCityTULADEV.NET
    19. 19. Персональный билд (Personal Build)TULADEV.NET
    20. 20. Демонстрация работы Персонального Билда (Personal Build Demo)TULADEV.NET
    21. 21. Спасибо за внимание! Ссылки и полезные материалы:http://www.martinfowler.com/articles/continuousIntegration.htmlhttp://confluence.jetbrains.comhttp://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

    ×