Attività del flusso di lavoro LabDefaultTemplate
In questo argomento vengono descritte le attività del flusso di lavoro di Windows nel file di LabDefaultTemplate.11.xaml.LabDefaultTemplate definisce il processo del flusso di lavoro di Lab Management che consente di compilare, distribuire e testare l'applicazione in un ambiente lab.Per ulteriori informazioni sul flusso di lavoro di Windows, vedere questa pagina L'introduzione dello sviluppatore per Windows Workflow Foundation (WF) di .NET 4 nel sito Web MSDN.
Requisiti
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
Inizializzare il flusso di lavoro.
La radice di LabDefaultTemplate è l'attività TfsBuild.Process.Questo ActivityBuilder inizializza gli argomenti globali per la definizione di compilazione del flusso di lavoro proveniente dall'input specificato nella finestra della definizione di compilazione e nella procedura guidata dei parametri di flusso di lavoro del lab.
Argomenti
L'argomento LabWorkflowParameters contiene i dati che vengono forniti nella procedura guidata dei parametri di flusso di lavoro del lab.Questo argomento è un oggetto LabWorkflowDetails che contiene i seguenti oggetti:
BuildDetails |
Un oggetto Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails che archivia i dettagli della compilazione per la compilazione, la distribuzione e il flusso di lavoro del test. |
DeploymentDetails |
Un oggetto Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails che archivia le informazioni necessarie per la distribuzione di una compilazione nel flusso di lavoro. |
EnvironmentDetails |
Un oggetto Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails che archivia le informazioni che identificano l'ambiente da utilizzare per una compilazione, distribuzione ed uno scenario di test. |
TestParameters |
Un oggetto Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails che archivia i dettagli del parametro di test richiesti per creare l'esecuzione del test automatizzato. |
Gli argomenti seguenti vengono dichiarati nell'ambito globale:
Argomento |
Type |
---|---|
Metadata |
ProcessParameterMetaDataCollection |
Verbosity |
Un valore enumerato Verbosity che specifica la quantità di informazioni scritte nel log. |
BuildNumberFormat |
String specifica il formato del numero di compilazione. |
SupportedReasons |
Un valore enumerato BuildReasonche specifica il motivo per la compilazione. |
Sequenza di applicazioni di distribuzione di flusso di lavoro
![]() |
La sequenza Flusso di lavoro di distribuzione dell'applicazione controlla l'intera compilazione, distribuzione e scenario del test. Flusso di lavoro di distribuzione dell'applicazione dichiara le seguenti variabili:
|
Eseguire la compilazione
Aggiornare il numero della versione |
L'aggiornamento del numero di versione espande e restituisce il numero di build nell'argomento BuildNumberFormat.L'aggiornamento del numero di versione è un'attività Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber. |
Ottieni i dettagli della compilazione |
L'ottenere i dettagli della compilazione restituisce i dati necessari per eseguire o accedere alla compilazione specificata nella procedura guidata del flusso di lavoro.L'oggetto IBuildDetail viene archiviato nella variabile BuildDetail. L'ottenere i dettagli di compilazione è un'attività Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail.Il modello imposta le seguenti proprietà:
|
![]() |
Se la compilazione è necessaria determina se una nuova compilazione è necessaria per un processo di compilazione di Team System.Se le condizioni vengono soddisfatte, il flusso di lavoro esegue la sequenza Esegui compilazione. |
![]() |
La sequenza Esegui compilazione avvia la compilazione, attende il completamento della compilazione, quindi imposta il percorso di compilazione. |
Avvio del flusso di lavoro della compilazione |
L'avvio del flusso di lavoro della compilazione accoda una nuova compilazione nel controller di compilazione specificato e restituisce l'id della compilazione in coda nella variabile QueueBuildId.L'avvio del flusso di lavoro della compilazione è un'attività RunWorkflow.Il modello imposta le seguenti proprietà:
|
Attendere il completamento della compilazione |
Attendere il completamento della compilazione sospende l'esecuzione finché non la compilazione non è completa o è trascorso un intervallo di timeout.L'attività genera un'eccezione se l'intervallo viene raggiunto.L'attività restituisce lo stato della compilazione nella variabile BuildStatus, ed i dati sulla nuova compilazione dalla variabile ChildBuildDetail .L'attendere il completamento della compilazione è un'attività WaitForWorkflow.Il modello stabilisce i valori delle proprietà seguenti:
|
Impostare la Posizione di compilazione. |
Stabilire la Posizione di compilazione assegna la posizione della compilazione dalla variabile ChildBuildDetail alla proprietà BuildDetails.BuildUri dell' argomento LabWorkflowParameters. |
Distribuzione dell'applicazione
Aggiornare il riepilogo della distribuzione |
Aggiornare il riepilogo della distribuzione scrive il nome dell'ambiente di destinazione di distribuzione nella pagina di compilazione.Aggiornare il riepilogo della distribuzione è un'attività WriteDeploymentInformation . |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber restituisce la destinazione finale per la compilazione alla variabile BuildLocation.GetBuildLocationAndBuildNumber è un'attività GetBuildLocationAndBuildNumber.Il modello imposta le seguenti proprietà:
|
![]() |
Se le condizioni Calcola il percorso necessario per la compilazione vengono soddisfatte, Calcola il percorso di compilazione aggiunge le sottocartelle di configurazione della compilazione e della piattaforma alla destinazione finale. |
![]() |
Se l'utente ha selezionato l'ambiente di archiviazione controlla che l'ambiente venga distribuito, e Indica Errore genera un'eccezione se l'ambiente viene archiviato nella libreria. |
Ottieni l'ambiente Lab |
L'ottenere l'ambiente lab restituisce l'URI dell'ambiente alla variabile LabEnvironmentUri.L'ottenere l'ambiente lab è un'attività GetLabEnvironmentUri.Il modello imposta le seguenti proprietà:
|
![]() |
Se ripristinare lo Snapshot determina se l'utente ha richiesto che l'ambiente fosse ripristinato a uno snapshot pulito.Se la condizione viene soddisfatta, la sequenza Ripristina snapshot viene eseguita; in caso contrario Snapshot Ripristinato non specificato mostra un messaggio di avviso al riepilogo della compilazione. |
![]() |
La sequenza Ripristina snapshot, Ottieni dettagli di snapshot calcola l'id dello snapshot e Ripristina ambiente lab su snapshot esegue il ripristino. |
Ottieni dettagli sullo snapshot |
L'ottenere dettagli sullo snapshot è un'attività GetLabEnvironmentSnapshotId.Il modello imposta le seguenti proprietà:
|
Ripristinare l'ambiente lab allo snapshot |
Ripristina ambiente lab sullo snapshot è un'attività RestoreLabEnvironment.Il modello imposta le seguenti proprietà:
|
![]() |
Se la distribuzione necessaria determina se l'utente ha richiesto una distribuzione. |
![]() |
Se la condizione viene soddisfatta, la sequenza Esegui distribuzione viene eseguita. |
Attendere che la capacità del flusso di lavoro sia pronta |
Attendere che la capacità del flusso di lavoro sia pronta sospende l'esecuzione finché la capacità del flusso di lavoro dell'ambiente sia pronta o sia raggiunto un intervallo di timeout.Se l'intervallo di timeout è scaduto viene generata un'eccezione.Attendere che la capacità del flusso di lavoro sia pronta è un'attività WaitForWorkflowCapabilityServices.Il modello imposta le seguenti proprietà:
|
![]() |
Eseguire script di distribuzione esegue la sequenza Esegui script su sistema lab su ogni script di distribuzione contenuto nell'elenco delle proprietà DeploymentDetails.Scripts dell'argomento LabWorkflowParameters. |
![]() |
La sequenza Esegui script su sistema lab esegue lo script specificato in una macchina virtuale nell'ambiente.Esegui script su sistema lab dichiara le seguenti variabili:
|
Inizializzare i tag dell'agente e lo script di distribuzione |
Inizializzare i tag dell'agente e lo script di distribuzione espande le macro ed i tag di script e restituisce i risultati in un oggetto ScriptDetails.Inizializzare i tag dell'agente e lo script di distribuzione è un'attività InitializeAgentSpecAndEnvironmentVariables.Il modello stabilisce i valori seguenti:
|
Ambito dell'agente lab |
L' ambito dell'agente lab determina se l'agente lab è installato ed in esecuzione nella macchina virtuale di destinazione e quindi invoca Esecuzione script di distribuzione per eseguire lo script.Un'eccezione viene generata se uno degli script fallisce su un computer.L'ambito dell'agente lab è un'attività Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScopeIl modello imposta le seguenti proprietà:
|
Eseguire lo script di distribuzione. |
Esecuzione script di distribuzione esegue lo script di distribuzione nella macchina virtuale di destinazione.Esecuzione script di distribuzione è un'attività RunDeploymentScript.Il modello stabilisce i valori seguenti:
|
Distribuzione di applicazioni completata |
Application Deployment Succeeded scrive informazioni sul riepilogo della compilazione.Distribuzione di un'applicazione riuscita è un'attività WriteDeploymentInformation. |
![]() |
Snapshot post-distribuzione determina se l'utente ha richiesto che uno snapshot dell'ambiente debba essere mantenuto dopo la distribuzione.Se questa condizione viene soddisfatta, la sequenza Preleva snapshot post-distribuzione viene eseguita.In caso contrario, Snapshot post-distribuzione non specificato scrive un messaggio di avviso nel log. |
![]() |
Sequenza di Preleva snapshot post-distribuzione Preleva snapshot post-distribuzione dichiara le seguenti variabili: |
![]() |
Controllo del Nome della Snapshot determina se un nome dello snapshot è stato specificato.Se la condizione viene soddisfatta, il nome specificato viene utilizzato; in caso contrario viene utilizzato il valore predefinito. |
Prelevare Snapshot post-distribuzione |
Prelevare snapshot post-distribuzione è un'attività SnapshotLabEnvironment che crea lo snapshot.Il modello imposta le seguenti proprietà:
|
Prelevare con successo lo snapshot |
Prelevare con successo lo snapshot scrive il nome dello snapshot sul riepilogo della compilazione.Prelevare con successo lo snapshot è un'attività WriteDeploymentInformation. |
Aggiungere un collegamento di connessione allo snapshot |
Aggiungere un collegamento di connessione allo snapshot scrive l'url dello snapshot sul riepilogo della compilazione.Aggiungere un collegamento di connessione allo snapshot è un'attività WriteDeploymentInformation. |
Esecuzione dei test
![]() |
Esecuzione dei test nell'ambiente determina se i test automatizzati erano stati richiesti.Se la condizione viene soddisfatta, la sequenza Esegui test viene eseguita. |
![]() |
Eseguire test Esegui test dichiara le seguenti variabili:
|
Attendere che le funzionalità di test siano pronte |
Attendere che le funzionalità di test siano pronte sospende l'esecuzione finché la capacità di test dell'ambiente non sia pronta o un intervallo di timeout venga raggiunto.Se l'intervallo di timeout è scaduto viene generata un'eccezione. Attendere che le funzionalità di test siano pronte è un'attività WaitForTestCapabilityServices.Il modello imposta le seguenti proprietà:
|
Esecuzione dei test |
Eseguire test esegue i test e restituisce risultati di questi.Eseguire test è un'attività ExecuteRemoteTestRun.Il modello stabilisce i valori seguenti:
|
![]() |
Se tutti i test non vengono superati determina se i test hanno avuto esito negativo ed esegue Imposta stato compilazione se la condizione viene soddisfatta. |
Impostare Stato di compilazione |
Impostare stato compilazione determina se il flusso di lavoro include la compilazione o la distribuzione dell'applicazione.Se questa condizione viene soddisfatta, Eseguita parzialmente imposta lo stato del flusso di lavoro al valore BuildStatus.PartiallySucceeded.In caso contrario, Operazione non riuscita imposta la variabile BuildStatus a Failed. |