Udostępnij za pośrednictwem


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

Aktywność proces główny

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.

Ff652752.collapse_all(pl-pl,VS.110).gifArgumenty

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

Przepływ wdrażania aplikacji sekwencji kontroluje całą kompilacji, wdrażania i testowania scenariuszy.

Przepływ wdrażania aplikacji deklaruje następujące zmienne:

  • BuildDetail: A IBuildDetail object.

  • LabEnvironmnetUri: A String , który określa identyfikator uri środowiska, na którym jest wdrożony kompilacja.

  • BuildLocation: A String , który określa lokalizację kompilacji.

  • SnapshotId: A String , który określa identyfikator migawki maszyny wirtualnej.

  • QueueBuildId: A Int32 , który określa identyfikator budowanie w kolejce.

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:

  • Wynik zwraca obiekt IBuildDetail BuildDetail zmiennej.

Jeśli kompilacja jest wymagane działanie

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.

Tworzenie działania

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:

  • BuildDefinition jest ustawiona na BuildDetails.BuildDefinitionName właściwość LabWorkflowParameters argumentu.

  • NazwaProjektu argument ma wartość TeamProject właściwość BuildDetailzmiennej.

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:

  • AllowPartiallySucceededBuild jest ustawiona na wartość true

  • BuildDetails nowych danych build zwraca ChildBuildDetail zmiennej.

  • MaxWaitTime jest ustawiony do nieskończonej.

  • QueueBuildId zwraca identyfikator kolejki kompilacja QueueBuildId zmiennej.

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:

  • BuildDetails jest ustawiona na BuildDetails obiekt, który znajduje się w LabWorkflowParameters argumentu

  • BuildNumber zwraca numer kompilacji do BuildNumber zmiennej.

  • Wynik zwraca położenie kompilacji do BuildLocation zmienna

  • SelectedBuild zwraca IBuildDetail obiektu do SelectedBuildDetail zmienna, która zawiera dane kompilacji serwera kompilacji.

Obliczyć lokalizacji kompilacji potrzebne działania

Jeśli Compute kompilacji lokalizacji potrzebne warunki są spełnione, ścieżką budowania Compute dodaje podfoldery konfiguracji platformy i kompilacja do lokalizacji.

Jeśli użytkownik wybrał przechowywanych środowiska działania

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:

  • LabEnvironmentName jest ustawiona na wartość EnvironmentDetails.LabEnvironmentName właściwość LabWorkflowParameters argumentu.

  • NazwaProjektu jest ustawiona na wartość TeamProject właściwość BuildDetail zmiennej.

  • Wynik zwraca identyfikator uri środowisko laboratoryjne LabEnvironmentUri zmiennej.

  • TeamProjectLabLocationName jest ustawiona na wartość EnvironmentDetails.HostGroupName właściwość LabWorkflowParameters argumentu.

  • TfsServerUrl jest ustawiona na null.

Jeśli migawka przywrócenia działania

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.

Przywracanie działania migawki

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:

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUri zmiennej.

  • Wynik zwraca identyfikator migawki, aby SnapshotId zmiennej.

  • SnapshotName jest ustawiona na EnvironmentDetails.SnapshotName właściwość LabWorkflowParameters argumentu.

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:

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUrizmiennej.

  • SnapshotId jest ustawiona na wartość SnapshotIdzmiennej.

W razie potrzeby wdrażania działania

W razie potrzeby wdrażania Określa, czy użytkownik zażądał wdrożenia.

Wykonaj czynność wdrażania

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:

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUri zmiennej.

  • MaxWaitTime jest ustawiona na 20 minut.

  • RepairCapabilityBeforeWaitBegins ma wartość false.

Uruchom skrypt wdrażania działania

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.

Uruchom skrypt na działanie systemu laboratorium

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:

  • BuildLocation jest ustawiona na wartość BuildLocation zmiennej.

  • DeploymentScriptDetails jest ustawiona na wartość iterowany DeploymentDetails.Scripts ciąg.

  • LabEnvironmentUri ustawiona na wartość LabEnvironmentUri zmiennej.

  • Wynik zwraca rozwiniętej skryptu scriptDetails zmiennej.

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:

  • MaxExecutionTime jest ustawiony do nieskończonej.

  • MaxWaitTime jest ustawiona na 5 minut.

  • ReservationSpec jest ustawiony do obiektu Microsoft.Te:amFoundation.Build.Client.BuildAgentSpec AgentSpec właściwość scriptDetails zmiennej.

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:

  • ScriptDetails jest ustawiona na wartość scriptDetails zmiennej.

  • ThrowOnError jest ustawiona na wartość true.

  • SharedLocationForNetUse jest ustawiona na wartość BuildLocation zmiennej.

Wdrażanie aplikacji powiodło się.

Pomyślnie rozmieszczania aplikacji zapisuje informacje podsumowania kompilacji.Pomyślnie rozmieszczania aplikacji jest WriteDeploymentInformation działalności.

Migawka wdrażania POST

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.

Podjąć działania migawki Post-Deloyment

Wykonać migawki wdrażania Post sekwencji

Wykonać migawki wdrażania Post deklaruje następujące zmienne:

  • PostDeploymentSnapshotChainId: Int64

  • PostDeploymentSnapshotName: String Szablon ustawia domyślną wartość do wartości BuildNumber właściwość BuildDetails zmiennej.

Sprawdź aktywność nazwę migawki

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:

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUri zmiennej.

  • SnapshotChainId zwraca identyfikator migawki, aby PostDeploymentSnapshotChainId zmiennej.

  • SnapshotName jest ustawiona na wartość PostDeploymentSnapshotName zmiennej.

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

Uruchom testy na środowisko działalności

Testy na środowisko Określa, czy były wymagane testy automatyczne.Jeśli warunek jest spełniony, Uruchomić testy sekwencji jest wykonywany.

Uruchom testy aktywności

Uruchom testy

Testy deklaruje następujące zmienne:

  • TestCapabilityInfo: Microsoft.TeamFoundation.Lab.Client.TestingCapabilityInformation.

  • TestResults: Microsoft.TeamFoundation.Lab.Workflow.Activities.TestRunStatistics.Szablon ustawia wartości domyślne nowego obiektu TestRunStatistics.

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:

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUri zmiennej.

  • MaxWaitTime jest ustawiona na 20 minut.

  • RepairCapabilityBeforeWaitBegins ma wartość false.

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:

  • MaxWaitTime jest ustawiony do nieskończonej.

  • BuildNumber jest ustawiona na wartość BuildNumber zmiennej.

  • TestDirectory jest ustawiona na wartość BuildLocation zmiennej.

  • LabEnvironmentUri jest ustawiona na wartość LabEnvironmentUri zmiennej.

  • TestParameters jest ustawiona na TestParameters obiekt, który znajduje się w LabWorkflowParameters obiektu.

  • Wynik zwraca obiekt Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails, zawierający wyniki badań do TestResults zmiennej.

  • Tytuł ustawia nazwę testu na wartość BuildNumber właściwość BuildDetail zmiennej.

Jeśli nie wszystkie testy przeszły aktywnoś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.

Zobacz też

Koncepcje

Lab zarządzaniem przepływu pracy