Działalność LabDefaultTemplate przepływu pracy.
W tym temacie opisano czynności przepływu pracy systemu Windows w pliku LabDefaultTemplate.11.xaml.LabDefaultTemplate definiuje zarządzania Lab proces przepływu pracy, który umożliwia budowania, wdrażania i testowania aplikacji w środowisku laboratoryjnym.Aby dowiedzieć się więcej o przepływie pracy systemu Windows, zobacz tę stronę A Developer wprowadzenie do systemu Windows Workflow Foundation (WF) w .net 4 w witrynie MSDN w sieci Web.
Wymagania
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
Inicjowanie przepływu pracy
Głównym LabDefaultTemplate jest działalności TfsBuild.Process.To ActivityBuilder inicjuje globalnego argumenty dla przepływu pracy tworzenia definicji z wejścia dostarczonych w oknie definicji budowanie i Lab parametry przepływu pracy kreatora.
Argumenty
LabWorkflowParameters Argument zawiera dane, które są dostarczane w laboratorium parametry przepływu pracy kreatora.Argument ten jest LabWorkflowDetails obiekt, który zawiera następujące obiekty:
BuildDetails |
A Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails obiekt, który przechowuje budowanie szczegóły dla kompilacji, wdrażania i przetestować przepływu pracy. |
DeploymentDetails |
A Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails obiekt, który przechowuje informacje wymagane do wdrożenia kompilacji w przepływie pracy. |
EnvironmentDetails |
A Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails obiekt, który przechowuje informacje identyfikujące środowiska budowania, wdrażania, a badanie scenariusz. |
TestParameters |
A Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails obiekt, który przechowuje szczegóły parametru badania, które są wymagane do utworzenia zautomatyzowanej testu. |
W zakresie globalnym zgłaszane są również następujące argumenty:
Argument |
Typ |
---|---|
Metadata |
ProcessParameterMetadataCollection |
Verbosity |
A Verbosity wyliczone wartości, która określa ilość informacji zapisywanych w dzienniku. |
BuildNumberFormat |
A String , który określa format numeru kompilacji. |
SupportedReasons |
A BuildReasonwyliczone wartości, która określa przyczyny dla kompilacji. |
Sekwencja przepływu wdrażania aplikacji
Przepływ wdrażania aplikacji sekwencji kontroluje całą kompilacji, wdrażania i testowania scenariuszy. Przepływ wdrażania aplikacji deklaruje następujące zmienne:
|
Kompilacja
Numer kompilacji aktualizacji |
Numer kompilacji aktualizacji rozszerza się i zwraca numer kompilacji w BuildNumberFormat argumentu.Numer kompilacji aktualizacji jest Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber działalności. |
Pobierz szczegóły budowania |
Pobierz szczegóły budować zwraca dane wymagane do uruchomienia lub dostępu do kompilacji, określonej w Kreatorze przepływu pracy.Obiekt IBuildDetail jest przechowywany w BuildDetail zmiennej. Pobierz szczegóły budować jest Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail działalności.Szablon określa następujące właściwości:
|
Jeśli potrzebna jest Build Określa, czy nowe kompilacji jest niezbędne dla procesu tworzenia Team System.Jeżeli warunki są spełnione, uruchamia przepływ pracy Należy budować sekwencji. |
|
Należy budować sekwencji inicjuje kompilacji, czeka na kompilacji do wykonania, a następnie Ustawia lokalizację kompilacji. |
|
Uruchamianie Build przepływu pracy. |
Rozpocznij tworzenie przepływu pracy nowej kompilacji kontrolera kompilacji określonej kolejki i zwraca identyfikator kolejce kompilacji w QueueBuildId zmiennej.Rozpocznij tworzenie przepływu pracy jest RunWorkflow działalności.Szablon określa następujące właściwości:
|
Poczekaj, aż kompilacji do wykonania |
Poczekaj na budowanie do pełną zawiesza wykonywanie aż kompilacja jest kompletny lub jest upłynął limit czasu.Działanie zgłasza wyjątek po osiągnięciu limitu czasu.Działanie zwraca stan kompilacji w BuildStatus zmienna i dane dotyczące nowej kompilacji w ChildBuildDetail zmiennej.Poczekaj na budowanie do pełną jest WaitForWorkflow działalności.Szablon ustawia wartości następujących właściwości:
|
Ustaw lokalizację kompilacji |
Ustawianie lokalizacji budować przypisuje lokalizacji kompilacji z ChildBuildDetail do zmiennej BuildDetails.BuildUri właściwość LabWorkflowParameters argumentu. |
Wdrażanie aplikacji
Podsumowanie wdrażania aktualizacji |
Podsumowanie wdrażania aktualizacji zapisuje nazwę środowiska docelowego wdrażania strony kompilacji.Podsumowanie wdrażania aktualizacji jest WriteDeploymentInformation działalności. |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber zwraca lokalizacji dla kompilacji do BuildLocation zmiennej.GetBuildLocationAndBuildNumber jest GetBuildLocationAndBuildNumber działalności.Szablon określa następujące właściwości:
|
Jeśli Compute kompilacji lokalizacji potrzebne warunki są spełnione, ścieżką budowania Compute dodaje podfoldery konfiguracji platformy i kompilacja do lokalizacji. |
|
Zaznaczone przechowywane środowiska sprawdza wdrożeniu środowiska, i Błąd wskazanie zgłasza wyjątek, jeśli środowisko jest przechowywany w bibliotece. |
|
Uzyskać środowisko laboratoryjne |
Pobierz środowiska laboratoryjnego zwraca identyfikator uri środowiska LabEnvironmentUri zmiennej.Pobierz środowiska laboratoryjnego jest GetLabEnvironmentUri działalności.Szablon określa następujące właściwości:
|
Jeśli przywracanie migawki Określa, czy użytkownik zażądał przywrócenie do migawki czystego środowiska naturalnego.Jeśli warunek jest spełniony, Przywrócić migawki sekwencję; w przeciwnym razie czyste migawki nie określono zapisuje komunikat ostrzegawczy podsumowanie kompilacji. |
|
W Przywrócić migawki sekwencji, Pobierz szczegóły migawki oblicza identyfikator migawki, i Przywracania środowiska laboratoryjnego migawka wykonuje przywracanie. |
|
Pobierz szczegóły migawki |
Pobierz szczegóły migawki jest GetLabEnvironmentSnapshotId działalności.Szablon określa następujące właściwości:
|
Przywracanie środowisko laboratoryjne do migawki |
Przywrócić migawkę środowiska laboratoryjnego jest RestoreLabEnvironment działalności.Szablon określa następujące właściwości:
|
W razie potrzeby wdrażania Określa, czy użytkownik zażądał wdrożenia. |
|
Jeśli warunek jest spełniony, wdrażania jest sekwencję. |
|
Oczekiwania dla przepływu pracy możliwości być gotowe |
Oczekiwania dla przepływu pracy możliwości być gotowe zawiesza wykonywanie aż środowiska możliwości przepływu pracy jest gotowy lub osiągnięty zostanie limit czasu.Jeśli zostanie przekroczony limit czasu jest wyjątek.Oczekiwania dla przepływu pracy możliwości być gotowe jest WaitForWorkflowCapabilityServices działalności.Szablon określa następujące właściwości:
|
Uruchamianie skryptów wdrażania wykonuje Uruchomić skrypt w laboratorium systemu sekwencji na każdy skrypt wdrażania zawarte w DeploymentDetails.Scripts listę właściwości LabWorkflowParameters argumentu. |
|
Uruchamianie skryptów w systemie laboratorium sekwencji wykonuje określonego skryptu na maszynie wirtualnej w środowisku.Uruchamianie skryptów w systemie laboratorium deklaruje następujące zmienne:
|
|
Inicjowanie skryptu agenta znaczniki i wdrażania |
Zainicjowania agenta znaczniki i wdrażania skryptu makr i znaczników skryptu i zwraca wyniki w ScriptDetails obiektu.Zainicjowania agenta znaczniki i wdrażania skryptu jest InitializeAgentSpecAndEnvironmentVariables działalności.Szablon określa następujące wartości:
|
Zakres agenta Lab |
Zakres agenta laboratorium Określa, czy agent laboratorium jest zainstalowana i uruchomiona na docelowym maszyny wirtualnej, a następnie wywołania Uruchomiony skrypt wdrażania wykonać skryptu.Wyjątek jest Jeśli dowolne skrypty awarii komputera.Zakres agenta laboratorium jest Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScopedziałalności.Szablon określa następujące właściwości:
|
Uruchamianie skryptu wdrażania |
Uruchamianie skryptu wdrażania wykonuje skrypt wdrażania na wirtualnej maszynie docelowej.Uruchamianie skryptu wdrażania jest RunDeploymentScript działalności.Szablon określa następujące wartości:
|
Wdrażanie aplikacji powiodło się. |
Pomyślnie rozmieszczania aplikacji zapisuje informacje podsumowania kompilacji.Pomyślnie rozmieszczania aplikacji jest WriteDeploymentInformation działalności. |
Księgowanie migawki wdrażania Określa, czy użytkownik zażądał migawkę środowiska jest zapisane po wdrożeniu.Jeśli ten warunek jest spełniony, Wykonać migawki wdrażania Post sekwencji jest wykonywany.W przeciwnym razie Post wdrażania migawki nie określono zapisuje ostrzeżenie w dzienniku. |
|
Wykonać migawki wdrażania Post sekwencji Wykonać migawki wdrażania Post deklaruje następujące zmienne: |
|
Sprawdź nazwę migawki Określa, czy nazwa migawki został określony.Określona nazwa jest używana, jeśli warunek jest spełniony, w przeciwnym razie używana jest wartość domyślna. |
|
Podejmowanie wdrażania Post migawki |
Migawki wdrażania Post podejmowanie jest SnapshotLabEnvironment działalności, która tworzy migawkę.Szablon określa następujące właściwości:
|
Uwzględniając migawki powiodło się. |
Uwzględniając migawki powiodło się zapisuje nazwy migawki na podsumowanie kompilacji.Uwzględniając migawki powiodło się jest WriteDeploymentInformation działalności. |
Dodaje połączenia łącze do migawki |
Połączenie dodane łącze do migawki url Migawka zapisuje podsumowanie kompilacji.Połączenie dodane łącze do migawki jest WriteDeploymentInformation działalności. |
Uruchomione testy
Testy na środowisko Określa, czy były wymagane testy automatyczne.Jeśli warunek jest spełniony, Uruchomić testy sekwencji jest wykonywany. |
|
Uruchom testy Testy deklaruje następujące zmienne:
|
|
Poczekaj na badania możliwości będzie gotowa |
Poczekaj na badania możliwości będzie gotowa zawiesza wykonywanie aż do testowania zdolności środowiska naturalnego jest gotowy lub osiągnięciu limitu czasu.Jeśli zostanie przekroczony limit czasu jest wyjątek. Poczekaj na badania możliwości będzie gotowa jest WaitForTestCapabilityServices działalności.Szablon określa następujące właściwości:
|
Uruchomione testy |
Wykonanie testów wykonuje testy i zwraca wyniki badań.Wykonanie testów jest ExecuteRemoteTestRun działalności.Szablon określa następujące wartości:
|
Jeśli wszystkie testy nie przeszły Określa, czy wszystkie testy nie powiodło się i wykonuje Ustaw stan kompilacji Jeśli warunek jest spełniony. |
|
Ustaw stan kompilacji |
Zestaw zbudować stanu Określa, czy przepływ pracy uwzględnia kompilacji lub wdrażania aplikacji.Jeśli ten warunek jest spełniony, częściowo succeded ustawia stan przepływu pracy BuildStatus.PartiallySucceeded wartości.W przeciwnym razie nie powiodło się ustawia BuildStatus do zmiennej Failed. |