KNOW INTUIT, Лекция, Въведение в Team Build
Как да определите стратегия за изграждане
За да определите стратегия за изграждане, изпълнете следните стъпки:
- Разберете кой ще използва монтажа.
- Вижте сценарии за решение.
- Идентифицирайте често срещани проблеми.
Дефиниране на потребители за изграждане
Повечето екипи за разработка създават компилации за един или повече типове потребители:
- екипи за развитие;
- тестови екипи;
- вътрешни контролери;
- външни бета контролери;
- клиенти.
Потребителите от всеки тип имат свои собствени изисквания за качеството на сглобките и честотата на тяхното пускане. Като правило те могат да бъдат разделени на две групи: едната се нуждае от планирани компилации, които се пускат по график, другата - компилации, които се създават в движение въз основа на текущи събития. Планираните компилации обикновено се създават ежедневно, но това може да се случи повече или по-рядко. Изгражданията, управлявани от събития, обикновено се задействат чрез проверка на изходния код в системата и са проектирани да предоставят бързо на екипа за разработка информация за качеството на кода. Ако разработчиците имат проблеми с повредени компилации, помислете за използването на модела за проверка на кода с затворено чекиране, където компилациите се тестват, преди да им бъде разрешено да бъдат поставени в дървото на източника.
Изграждане на скриптове
Изберете сценарии за решение въз основа на това колко подходящи са за вашата конкретна ситуация. Когато се съмнявате, използвайте най-простия възможен сценарий - планирано изграждане - и го направете по-сложен само когато е необходимо. Най-често срещаните сценарии за изграждане на екип са изброени по-долу:
- Ежедневно изгражданеИзползва се от повечето екипи за предоставяне на тестери идруги потребители на последователни двоични файлове.
- Ежедневни компилации и непрекъсната интеграцияНякои екипи използват непрекъснати интеграционни компилации всеки път, когато изходният код се проверява, за да предоставят бързо на разработчиците информация за качеството на кода. Системата за чиста непрекъсната интеграция е добра за малки екипи за разработка, но големите екипи с чести проверки и дълги компилации рискуват да претоварят сървъра за компилация. Ако това се случи, опитайте да използвате подвижна компилация. Сглобките не се създават толкова често, но времето между връщането на кода и получаването на резултата леко се увеличава.
- Множество лаборатории за изграждане, всяка с ежедневно изграждане и непрекъсната интеграцияМного големите екипи се нуждаят от по-сложни решения за подобряване на качеството и навременността на изграждане. За да намалите броя на сривовете, можете да използвате връщане на код с контролирано качество, отхвърляйки ненадежден код, преди да удари дървото. Екипите с подразделения могат да използват множество сървъри за изграждане (по един за всяко подразделение), за да гарантират, че всяка група е фокусирана върху конкретна задача. Например един отдел създава интеграционни компилации, друг отдел създава компилации за разработка.
Планирани компилации
Планираният монтаж се извършва на редовни интервали. Целта на планираната компилация е да създаде последователни, надеждни компилации, които могат да се използват за получаване на информация относно качеството на компилация. Планираните компилации обикновено се изпълняват ежедневно, но могат да се изпълняват по-рядко или по-често, в зависимост от вашите нужди.
Най-често потребителите на планирани монтажи са:
- тестери;
- контролери за вътрешен монтаж;
- външни контролери.
За да създадете планирано събрание, изпълнете следните стъпки:
- Създайте партиден файл за изграждане от командния ред.
- Използвайте Windows Scheduler, за да изпълните пакетен файл по график.
Повече информация можете да намерите в лекция 9.
Непрекъсната интеграция
При непрекъсната интеграция компилация се изпълнява всеки път, когато кодът се регистрира след редакция. Целта на такъв монтаж е да се получи информация за качеството на монтажа възможно най-бързо. Потребителите на непрекъсната интеграция обикновено са екипи за разработка.
Изберете една от следните стратегии в зависимост от размера на командата, размера на сглобката и честотата на връщане на кода:
- Изградете веднага след връщане на кода.
- Подвижна компилация след определен брой връщания код или след определен период от време.
За повече информация вижте лекция 8.
Код за връщане с контрол на качеството
Проверката на кода с контрол на качеството означава, че върнатият код трябва да отговаря на определени стандарти за качество, за да бъде добавен към дървото на източника. Чрез провеждане на поредица от тестове броят на неуспешните компилации се намалява и качеството на компилацията се подобрява.
Често срещани проблеми
Характеристики на големи проекти
Когато работите по големи проекти, вземете предвид следните разлики между големите екипи:
- изискват по-сложна структура на разклоняване и сливане;
- често изискват управление на зависимостите между различни решения и екипни проекти;
- по-често има нужда от поддържане на множество сборки за компоненти и екипи за разработка.
Когато работите в големи екипи за разработка, помислетеследните съображения:
- По-големите екипи обикновено отнемат повече време за изграждане. Честотата на изпълнение на изграждане на непрекъсната интеграция не трябва да надвишава времето за изграждане, за да се избегнат опашки и увеличаване на натоварването на сървъра за изграждане.
- Ако вашият екип има дивизии, използвайте един сървър за изграждане за всяка дивизия. Това позволява на всеки отдел да се съсредоточи върху конкретна задача, като интеграция или развитие.
- Отделите за интеграция обикновено се занимават само с планирани компилации. Отделите за развитие могат да работят както с планирани компилации, така и с непрекъсната интеграция.
Настройка на компилация
Информация за компилация, като сървър за компилация, местоположение на компилация, директория за компилация, е указана във файла TFSBuild.proj. Той съдържа голяма част от информацията, необходима за стартиране на компилация на команда, включително местоположения за компилация и дали да се извърши анализ на статичен код и модулни тестове. За да промените тази информация, редактирайте файла TFSBuild.proj, като направите следното:
- Разгледайте файла от контрола на източника.
- Актуализирайте информацията във файла.
- Проверете файла в контрола на източника.
Team Build е базиран на системата MSBuild. Той се интегрира с TFS сървъра на ниво приложение и взаимодейства с работни елементи, покритие на код, тестови данни и отчети.
При определяне на стратегия за изграждане е необходимо да се вземат предвид изискванията към нея и нуждите на потребителите на конструкцията. Обикновено планираните компилации се използват за получаване на последователни компилации, необходими на тестери и други клиенти, а непрекъснатите компилации се използват за бързо получаване на информация относно качеството на компилация.интеграция.