Team Foundation Build – Šablona procesu

Jak jsem zmínil v Lehký úvod do Team Foundation Build 2010, jednotlivé akce buildu a jejich sekvence jsou definovány v šabloně procesu. Ta je založena na Windows Workflow Foundation 4.0, takže je to vlastně textový XAML soubor. Hlavně ale existuje vizuální návrhář integrovaný do Visual Studia, díky kterému lze definovat proces prostým přetažením akcí do editoru a nastavením parametrů.

Funkcionalita týkající se buildů, včetně šablony procesu, je přístupná z Team Exploreru (uzel Builds v týmovém projektu). Vytváření definice buildu zahájíme volbou New Build Definition.

Otevře se dialog, kde můžete nastavit mnoho užitečných parametrů, ale v tuto chvíli je podstatná záložka Process a sekce Default process template v její horní části.


Po kliknutí na Show details uvidíte rozbalovací seznam s výběrem z existujících šablon a (krom jiného) tlačítko New pro vytvoření nové šablony a cestu k souboru šablony.


Zde můžete vidět, že šablony se ukládájí do správy verzí – tam k nim má Team Foundation Build pohodlný přístup.

Po stisknutí tlačítka New se zobrazí dialog, kde můžete zvolit na jaké šabloně bude vytvářená šablona založena, jméno nové šablony apod.


Na pozadí se vytvoří nový soubor šablony a nastaví jako výchozí v dialogu definice buildu. Kliknutím na odkaz zobrazíte soubor šablony v Source Control Exploreru:

Dvojklik na názvu souboru otevře šablonu v návrháři integrovaném do Visual Studia. Protože jsme šablonu založili na již existující šabloně, editor už nějakou definici procesu zobrazuje.

Existující akce lze konfigurovat – stačí na danou akci kliknout a změnit její vlastnosti v okně Properties:

nebo v některých případech přímo v návrháři.


Jak je vidět, na mnoha místech je možné psát kód (VB.NET), takže nejste omezeni nějakou předdefinovanou množinou akcí a operátorů. (Na proměnné se podíváme podrobněji někdy příště.)

Nové akce prostě přetáhněte z Toolboxu – buď do vyhrazeného místa v nějaké aktivitě, třeba v podmíněném bloku:

nebo na jeden z trojúhelníčků, které jsou ve výchozí šabloně na mnoha místech:

Tyto troujúhelníčky jsou ve skutečnost část aktivity Sequence. Ta je důležitá, protože třeba v předchozím příkladu můžete do If přiřadit pouze jednu akci – pokud potřebujete více akcí, třeba vytvořit adresář a stáhnout soubory, musíte do If nejdřív přetáhnout Sequence a teprve do ní další aktivity.

Dostupných aktivit a řídících strkutur je celá řada (a je možné definovat i vlastní), jen pro představu pár příkladů:

  • ForEach – projde zadanou kolekci a pro každý prvek spustí nějakou akci
  • TryCatch – zpracování výjimek pomocí klasické konstrukce Try/Catch/Finally
  • LabelWorkspace – vytvoří label ve správě verzí
  • InvokeProcess – spustí příkaz v příkazové řádce

Popis předdefinovaných aktivit je k dispozici na MSDN.