Sdílet prostřednictvím


LabDefaultTemplate – aktivity pracovního postupu

 

Toto téma popisuje Windows Workflow aktivity v souboru LabDefaultTemplate.11.xaml. LabDefaultTemplate definuje Správa testovacího prostředí proces pracovního postupu, který vám umožní vytvářet, nasazovat a testovat aplikace v testovacím prostředí. Další informace o pracovních postupů systému Windows, najdete na této stránce A Developer Úvod do systému Windows Workflow Foundation (WF) v rozhraní .NET 4 na webu MSDN.

Požadavky

  • Visual Studio Enterprise Visual Studio Test Professional

Probíhá inicializace pracovního postupu

Zpracovat kořenovou aktivitu

Kořenový adresář LabDefaultTemplate je TfsBuild.Process aktivity. To ActivityBuilder inicializuje globální argumenty pro pracovní postup vytvoření definice z vstup uvedená v okně Definice sestavení a v Průvodci parametry pracovního postupu testovacího prostředí.

Arguments

LabWorkflowParameters Argument obsahuje data, která je uvedená v Průvodci parametry pracovního postupu testovacího prostředí. Tento argument je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabWorkflowDetailsClass objekt, který obsahuje následující objekty:

BuildDetails

Objekt b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_BuildDetailsObject objekt, který uchovává sestavení obsahuje podrobnosti o sestavení, nasazení a testování pracovního postupu.

DeploymentDetails

Objekt b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabEnvironmentDetailsObject objekt, který uchovává informace, které jsou vyžadovány pro nasazení sestavení v pracovním postupu.

EnvironmentDetails

Objekt b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_LabEnvironmentDetailsObject objekt, který uchovává informace, které identifikují prostředí používat pro sestavení, nasazení a testování scénářů.

TestParameters

Objekt b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunTestDetailsObject objektu, která jsou uloženy podrobnosti test parametrů, které jsou požadovány k vytvoření automatizované testu.

Následující argumenty, které jsou také deklarované v globálním oboru:

Argument

Type

Metadata

ProcessParameterMetadataCollection

Verbosity

Objekt T:Microsoft.TeamFoundation.Build.Workflow.Verbosity výčtu hodnotu, která určuje množství informací, které je zapsán do protokolu.

BuildNumberFormat

Objekt String který určuje formát čísla sestavení.

SupportedReasons

Objekt BuildReasonvýčtu hodnotu, která určuje důvod sestavení.

Posloupnosti pracovního postupu nasazení aplikace

Pracovní nasazení aplikace

Pracovní postup nasazení aplikace sekvence řídí celý sestavení, nasazení a testování scénářů.

Pracovní postup nasazení aplikace deklaruje následující proměnné:

  • BuildDetail: A IBuildDetail objektu.

  • LabEnvironmnetUri: A String který určuje identifikátor uri prostředí, ve kterém je nasazena sestavení.

  • BuildLocation: A String který určuje umístění sestavení.

  • SnapshotId: A String který určuje identifikátor snímek virtuálního počítače.

  • QueueBuildId: A Int32 určující identifikátor sestavení do fronty.

Spuštění sestavení

Aktualizovat číslo sestavení

Číslo sestavení aktualizace rozbalí a vrátí číslo sestavení v BuildNumberFormat argument. Číslo sestavení aktualizace je a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_UpdateBuildNumber aktivity.

Podrobnosti o sestavení

Získat podrobnosti o sestavení vrací data, která je požadována ke spuštění nebo získat přístup k sestavení, které bylo zadáno v Průvodci pracovního postupu. Objekt IBuildDetail je uložen v BuildDetail proměnné.

Získat podrobnosti o sestavení je a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_GetBuildDetail aktivity. Šablona nastaví následující vlastnosti:

  • Výsledek vrací objekt IBuildDetail BuildDetail proměnné.

Pokud je sestavení potřebných činností

-Li vytvořit je vyžadován Určuje, zda je zapotřebí nové sestavení pro proces sestavení Team System. Pokud jsou podmínky splněny, pracovní postup bude spuštěn proveďte sestavení sekvence.

Vytvoření aktivity

Proveďte sestavení sekvence iniciuje sestavení, čeká na dokončení sestavení a poté nastaví adresář sestavení.

Spustit pracovní postup sestavení

Spustit pracovní postup vytváření fronty nové sestavení na kontroleru zadaného sestavení a vrátí id sestavení zařazené do fronty v QueueBuildId proměnné. Spustit pracovní postup vytváření je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunWorkflow aktivity. Šablona nastaví následující vlastnosti:

  • BuildDefinition je nastavena na BuildDetails.BuildDefinitionName vlastnost LabWorkflowParameters argument.

  • ProjectName argument je nastaven na TeamProject vlastnost BuildDetailproměnné.

Počkejte na dokončení sestavení

Počkejte pro vytváření k dokončení pozastaví provádění kódu až po dokončení sestavení nebo je uplynul časový limit. Aktivita vyvolá výjimku, pokud je dosaženo časového limitu. Aktivita vrátí stav sestavení v BuildStatus proměnné a data o nové sestavení v ChildBuildDetail proměnné. Počkejte pro vytváření k dokončení je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForWorkflow aktivity. Šablona nastaví následující hodnoty vlastností:

  • AllowPartiallySucceededBuild je nastavena na hodnotu true

  • BuildDetails vrací nová data sestavení do ChildBuildDetail proměnné.

  • MaxWaitTime je nastavena na neomezenou.

  • QueueBuildId vrátí id fronty sestavení QueueBuildId proměnné.

Nastavit umístění sestavení

Nastavit umístění sestavení přiřadí umístění sestavení z ChildBuildDetail proměnné pro BuildDetails.BuildUri vlastnost LabWorkflowParameters argument.

Nasazení aplikace

Aktualizovat souhrn nasazení

Shrnutí nasazení aktualizací zapíše název cílové prostředí nasazení na stránku sestavení. Shrnutí nasazení aktualizací je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation aktivity.

GetBuildLocationAndBuildNumber

GetBuildLocationAndBuildNumber vrátí odkládací adresář pro sestavení, BuildLocation proměnné. GetBuildLocationAndBuildNumber je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_GetBuildLocationAndBuildNumber aktivity. Šablona nastaví následující vlastnosti:

  • BuildDetails je nastavena na BuildDetails objekt, který je obsažen v LabWorkflowParameters argument

  • Verze vrátí číslo sestavení, které BuildNumber proměnné.

  • Výsledek umístění sestavení, vrátí BuildLocation proměnné

  • SelectedBuild vrátí IBuildDetail objektu SelectedBuildDetail proměnné, která obsahuje data sestavení na serveru sestavení.

Vypočítat umístění sestavení potřebné aktivity

Pokud výpočetní sestavení umístění potřeby jsou podmínky splněny, výpočetní cesta sestavení přidá podsložky konfigurace platformy a sestavení do odkládací adresář.

Pokud uživatel vybral činnosti uložené prostředí.

Pokud uživatel vybral uložené prostředí ověří, zda je nasazena prostředí, a znamenat chybu vyvolá výjimku, pokud prostředí je uložen v knihovně.

Získat testovací prostředí

Získat testovací prostředí vrátí identifikátor uri prostředí, aby LabEnvironmentUri proměnné. Získat testovací prostředí je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_GetLabEnvironmentUri aktivity. Šablona nastaví následující properities:

  • LabEnvironmentName je nastavena na hodnotu vlastnosti EnvironmentDetails.LabEnvironmentName vlastnost LabWorkflowParameters argument.

  • ProjectName je nastavena na hodnotu vlastnosti TeamProject vlastnost BuildDetail proměnné.

  • Výsledek vrátí identifikátor uri testovacího prostředí za účelem LabEnvironmentUri proměnné.

  • TeamProjectLabLocationName je nastavena na hodnotu vlastnosti EnvironmentDetails.HostGroupName vlastnost LabWorkflowParameters argument.

  • TfsServerUrl je nastavena na hodnotu null.

Pokud snímek obnovit činnost

-Li obnovit snímek Určuje, zda uživatel požadoval, že prostředí obnovit do čistého snímku. Pokud je splněna podmínka, Obnovit snímek sekvence je spuštění, jinak čistého snímku není zadáno zapíše upozorňující zprávu do souhrnu sestavení.

Obnovení činnosti snímek

V Obnovit snímek sekvence, získat podrobnosti snímku vypočítá identifikátor snímku, a Obnovit testovacího prostředí za účelem snímku provede obnovení.

Získat podrobnosti o snímku

Získat podrobnosti snímku je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_GetLabEnvironmentSnapshotId aktivity. Šablona nastaví následující vlastnosti:

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • Výsledek vrací id tak, aby byla SnapshotId proměnné.

  • SnapshotName je nastavena na EnvironmentDetails.SnapshotName vlastnost LabWorkflowParameters argument.

Obnovit testovací prostředí podle snímku

Obnovit testovacího prostředí za účelem snímku je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RestoreLabEnvironment aktivity. Šablona nastaví následující vlastnosti:

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUriproměnné.

  • SnapshotId je nastavena na hodnotu vlastnosti SnapshotIdproměnné.

V případě potřeby nasazení aktivity

v případě potřeby nasazení Určuje, zda uživatel vyžaduje nasazení.

Proveďte činnosti nasazení

Pokud je splněna podmínka, proveďte nasazení spuštění sekvence.

Počkejte pro pracovní postup schopností Chcete-li být připraveno

Počkejte pro pracovní postup schopností Chcete-li být připravený pozastaví provádění kódu, dokud možnosti pracovních postupů prostředí je připraven nebo nebude dosaženo interval vypršení časového limitu. Pokud je překročena interval vypršení časového limitu je vyvolána výjimka. Počkejte pro pracovní postup schopností Chcete-li být připravený je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForWorkflowCapabilityServices aktivity. Šablona nastaví následující vlastnosti:

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • MaxWaitTime nastavena na hodnotu 20 minut

  • RepairCapabilityBeforeWaitBegins je nastavena na hodnotu false.

Spuštění skriptu nasazení aktivity

Spustit nasazení skriptů provede Spustit skript v testovacím systému sekvence na každý nasazení skript, který je obsažen v DeploymentDetails.Scripts vlastnost seznam LabWorkflowParameters argument.

Spuštění skriptu v laboratoři systémové aktivity

Spouštět skripty v testovacím systému sekvence spustí zadaný skript ve virtuálním počítači v prostředí. Spouštět skripty v testovacím systému deklaruje následující proměnné:

  • scriptDetails: b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_ScriptDetailsObject

Inicializovat skript značky agenta a nasazení

Inicializovat značky agenta a nasazení skriptu rozbalí makra a značky skriptu a vrátí výsledky v b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_ScriptDetailsObject objektu. Inicializovat značky agenta a nasazení skriptu je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_InitializeAgentSpecAndEnvironmentVariables aktivity. Šablona nastaví následující hodnoty:

  • BuildLocation je nastavena na hodnotu vlastnosti BuildLocation proměnné.

  • DeploymentScriptDetails je nastavena na hodnotu vlastnosti iterated DeploymentDetails.Scripts řetězec.

  • LabEnvironmentUri nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • Výsledek Vrátí rozbalený skript tak, aby scriptDetails proměnné.

Rozsah agenta testovacího prostředí

Testovacího prostředí agenta oboru Určuje, zda agent testovacího prostředí je nainstalována a spuštěna v cílovém virtuálního počítače a poté zavolá spouštění skriptu nasazení spustit skript. Pokud žádný z skripty v počítači, je vyvolána výjimka. Testovacího prostředí agenta oboru je a7c92c11-6bbb-4b5e-ab35-af5edb7c6cf5#Activity_AgentScopeaktivity. Šablona nastaví následující vlastnosti:

  • MaxExecutionTime je nastavena na neomezenou.

  • MaxWaitTime je nastavena na 5 minut.

  • ReservationSpec je nastavena na Microsoft.Te:amFoundation.Build.Client.BuildAgentSpec objekt, který je AgentSpec vlastnost scriptDetails proměnné.

Při spuštění skriptu nasazení

Spouštění skriptu nasazení spustí skript pro nasazení na virtuálním počítači cíl. Spouštění skriptu nasazení je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_RunDeploymentScript aktivity. Šablona nastaví následující hodnoty:

  • ScriptDetails je nastavena na hodnotu vlastnosti scriptDetails proměnné.

  • ThrowOnError je nastavena na hodnotu true.

  • SharedLocationForNetUse je nastavena na hodnotu vlastnosti BuildLocation proměnné.

Nasazení aplikace bylo úspěšně dokončeno

Bylo úspěšné nasazení aplikace zapíše informace do souhrnu sestavení. Bylo úspěšné nasazení aplikace je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation aktivity.

Snímek nasazení POST

Příspěvek nasazení snímku Určuje, zda uživatel vyžaduje, aby snímek prostředí má být uložena po nasazení. Pokud je tato podmínka splněna, trvat snímku nasazení příspěvek provedení sekvence. V opačném snímku nasazení příspěvek není zadáno zapíše upozorňující zprávu do protokolu.

Provést činnosti snímek Post-Deloyment

Trvat snímku nasazení příspěvek sekvence

Trvat snímku nasazení příspěvek deklaruje následující proměnné:

  • PostDeploymentSnapshotChainId: Int64

  • PostDeploymentSnapshotName: String Šablona nastaví výchozí hodnotu na hodnotu vlastnosti BuildNumber vlastnost BuildDetails proměnné.

Kontrola činnosti název snímku

Zkontrolujte název snímku Určuje, zda byl zadán název snímku. Pokud je splněna podmínka, se zadaným názvem se používá; v opačném případě je použita výchozí hodnota.

Vytváření snímku po nasazení

Snímku trvá nasazení příspěvek je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_SnapshotLabEnvironment aktivita, která vytvoří snímku. Šablona nastaví následující vlastnosti:

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • SnapshotChainId vrací id tak, aby byla PostDeploymentSnapshotChainId proměnné.

  • SnapshotName je nastavena na hodnotu vlastnosti PostDeploymentSnapshotName proměnné.

Pořízení snímku proběhlo úspěšně

Pořizování snímku proběhlo úspěšně zapíše název snímku do souhrnu sestavení. Pořizování snímku proběhlo úspěšně je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation aktivity.

Přidat ke snímku propojení

Přidané připojení odkaz na snímek zapíše adresu url snímku do souhrnu sestavení. Přidané připojení odkaz na snímek je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WriteDeploymentInformation aktivity.

Provádění testů

Spustit testy v prostředí aktivity

Spouštět testy v prostředí Určuje, zda byla požadována automatizovaných testů. Pokud je splněna podmínka, spouštět testy provedení sekvence.

Spustit testy aktivity

Spustit testy

Spouštět testy deklaruje následující proměnné:

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

  • TestResults: Microsoft.TeamFoundation.Lab.Workflow.Activities.TestRunStatistics. Šablona nastaví výchozí hodnoty do nového objektu TestRunStatistics.

Počkejte pro Test možnosti být připraveno

Počkejte pro Test možnosti být připraveno pozastaví provádění kódu, dokud funkci testovací prostředí je připraven nebo nebude dosaženo interval vypršení časového limitu. Pokud je překročena interval vypršení časového limitu je vyvolána výjimka.

Počkejte pro Test možnosti být připraveno je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_WaitForTestCapabilityServices aktivity. Šablona nastaví následující vlastnosti:

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • MaxWaitTime nastavena na hodnotu 20 minut.

  • RepairCapabilityBeforeWaitBegins je nastavena na hodnotu false.

Provádění testů

Spuštění testů spustí testy a vrátí výsledky testů. Spuštění testů je b3f645d4-2db0-40e7-b8bf-eedca5d82ba8#BKMK_ExecuteRemoteTestRun aktivity. Šablona nastaví následující hodnoty:

  • MaxWaitTime je nastavena na neomezenou.

  • Verze je nastavena na hodnotu vlastnosti BuildNumber proměnné.

  • TestDirectory je nastavena na hodnotu vlastnosti BuildLocation proměnné.

  • LabEnvironmentUri je nastavena na hodnotu vlastnosti LabEnvironmentUri proměnné.

  • TestParameters je nastavena na TestParameters objekt, který je obsažen v LabWorkflowParameters objektu.

  • Výsledek vrátí Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails objekt, který obsahuje výsledky testů na TestResults proměnné.

  • Nadpis nastaví název testovacího běhu na hodnotu vlastnosti BuildNumber vlastnost BuildDetail proměnné.

Pokud nejsou všechny testy prošly aktivity

Pokud nebyly předány všechny testy Určuje, zda všechny testy, které selhaly a provede Stav vytváření sady Pokud je splněna podmínka.

Nastavit stav sestavení

Stav vytváření sady Určuje, zda pracovní postup zahrnuje sestavení nebo nasazení aplikace. Pokud je tato podmínka splněna, částečně succeded nastaví stav pracovního postupu BuildStatus.PartiallySucceeded hodnotu. V opačném se nezdařilo nastaví BuildStatus proměnné pro Failed.

Viz také

Aktivity pracovních postupů nástroje Lab Management