Condividi tramite


Personalizzazione del flusso di lavoro di Lab Management

È possibile utilizzare il modello lab predefinito (LabDefaultTemplate) con gli ambienti lab per automatizzare la compilazione della vostra applicazione, la distribuzione della nuova compilazione in un ambiente e l' esecuzione di test su di essa.Per informazioni sull'utilizzo del modello lab predefinito, vedere Procedura: creare un flusso di lavoro di compilazione, distribuzione e test per un ambiente SCVMM e Procedura: creare un flusso di lavoro di compilazione, distribuzione e test per un ambiente standard.In ogni caso, il processo di compilazione, distribuzione e test potrebbe essere leggermente diverso a causa dei requisiti differenti.Ad esempio, un flusso di lavoro potrebbe richiedere la copia dei file binari del test dal percorso di compilazione normale mentre un altro flusso di lavoro richiede la copia dei file binari del test da un percorso temporaneoO un flusso di lavoro potrebbe richiedere che un ambiente lab venga salvato in una libreria SCVMM in modo che i tester possano distribuirlo, o un altro flusso di lavoro potrebbe non salvare l'ambiente lab.Dal momento che si basa su Windows Workflow 4.0, il modello predefinito del flusso di lavoro è completamente estendibile e personalizzabile ed è possibile personalizzare LabDefaultTemplate per soddisfare i vostri requisiti.In questo argomento vengono descritti i passaggi generali per personalizzare il modello lab predefinito.

Requisiti

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

Di seguito sono riportati alcuni scenari in cui la personalizzazione del modello lab predefinito è utile:

  • Specify the location of test binaries other than the build location.

  • Support application deployments that require a restart after installation.

  • Read source control files.

  • Access a build drop location using the build agent account.

  • Access other locations using the lab service account.

Concetti di base della personalizzazione del flusso di lavoro

Tre sono i concetti principali che riguardano la personalizzazione del flusso di lavoro.

  • Modello: il modello definisce la sequenza delle attività o dei passaggi che fanno parte del flusso di lavoro.Il modello è basato su Windows Workflow Foundation 4.0 e viene archiviato come file con estensione xaml nel controllo del codice sorgente.Per caricare il modello nell'editor del flusso di lavoro, fare doppio clic sul file con estensione xaml.Nell'editor, sarà possibile visualizzare le varie attività e sequenze che determinano il flusso di lavoro.È quindi possibile utilizzare le variabili con diversi ambiti, logica condizionale, cicli e così via per programmare il modello, esattamente come con qualsiasi altro linguaggio di programmazione.Windows Workflow Foundation consente di personalizzare il modello lab predefinito in base alle proprie esigenze.

  • Attività: l'attività è il blocco predefinito del flusso di lavoro e il modello lab predefinito utilizza molte attività.Attività aggiuntive sono disponibili nella Casella degli strumenti sotto l'intestazione Attività Team Foundation Lab Management.Per utilizzare un'attività nel flusso di lavoro, trascinarla dalla casella degli strumenti nell'editor del flusso di lavoro di Visual Studio sulla posizione corretta nel modello.È possibile determinare i parametri di input e output esaminando le proprietà dell'attività.Per ulteriori informazioni su ogni attività Lab Management, vedere Attività del flusso di lavoro di Lab Management.Se le attività incluse nel prodotto non sono sufficienti a soddisfare le proprie esigenze, è possibile aggiungere nuove attività.

  • Argomenti: è possibile creare nuovi argomenti per gli input dell'utente necessari e passare questi valori alle attività.Fare clic sulla scheda Argomenti nella parte inferiore della finestra dell'editor del flusso di lavoro per visualizzare gli argomenti esistenti.Se si creano nuovi argomenti, verranno visualizzati nella sezione Parametri processo di compilazione della scheda Processo nella definizione di compilazione.

Questi concetti vanno presi in considerazione quando si esaminano i due esempi seguenti in cui è necessaria la personalizzazione.Nel primo esempio si indica come modificare l'argomento In di un'attività esistente in un modello e nel secondo esempio si indica come aggiungere nuove attività dalla casella degli strumenti.Con questi esempi viene fornito un contesto sufficiente per personalizzare LabDefaultTemplate in base ai vostri requisiti.

Prima di iniziare la personalizzazione

È necessario completare alcuni passaggi generali prima di iniziare a personalizzare il modello di flusso di lavoro LabDefaultTemplate.Nel diagramma che segue vengono illustrati tali passaggi.

Percorso della cartella dei modelli di flusso di lavoro predefiniti

Per preparare la personalizzazione

  1. In Team Explorer, fare doppio clic sul nodo Controllo del codice sorgente per il progetto team.

  2. In Esploratore controllo codice sorgente, espandere l'albero Controllo del codice sorgente e trovare la cartella $/<Nome_progetto>/BuildProcessTemplates.

  3. Eseguire il mapping di questa cartella a una cartella locale, ad esempio C:\Sources.

  4. Fare clic con il pulsante destro del mouse sul file LabDefaultTemplate.xaml e scegliere Leggi ultima versione.

  5. Fare una copia del file LabDefaultTemplate.11.xaml e assegnarle un nuovo nome, ad esempio, LabDefaultTemplate_customize.11.xaml.

  6. Aggiungere il nuovo file al controllo del codice sorgente.

  7. Fare doppio clic sul nuovo file.Il file verrà aperto nell' editor del flusso di lavoro di Visual Studio.

Quindi, personalizzerete la copia appena creata del modello predefinito del flusso di lavoro.

Personalizzazione per specificare un percorso dei file binari del test diverso dalla destinazione finale della compilazione

Nel modello predefinito del flusso di lavoro, LabDefaultTemplate, si presuppone che il percorso dei file binari del test sia uguale a quello in cui le compilazioni vengono rilasciate.Tuttavia, nella situazione attuale, è possibile non ottenere il codice del test compilato insieme al codice del prodotto.Se si verifica questa situazione, è possibile personalizzare il modello in modo da accettare i binari del test da una posizione diversa.Questa personalizzazione comprende tre passaggi, come illustrato di seguito.

Trascinamento di un'attività di Lab Management dalla casella degli strumenti

Ff934561.collapse_all(it-it,VS.110).gifDefinizione dell'argomento In del flusso di lavoro per specificare il percorso dei file binari del test

Per definire un argomento In

  1. Fare clic sulla scheda Argomenti nella parte inferiore della finestra dell'editor del flusso di lavoro.

  2. Scegliere Crea argomento.Nella casella di testo digitare il nome dell'argomento, ad esempio TestBinariesLocation.Nell'elenco a discesa Direzione fare clic su Nel.Nell'elenco a discesa Tipo di argomento, fare clic su Stringa.

Ff934561.collapse_all(it-it,VS.110).gifPassaggio di un valore dell'argomento all'attività ExecuteRemoteTestRun

Questa attività crea un'esecuzione dei test remota, attende il completamento dell'esecuzione dei test e quindi aggiorna le informazioni sulla compilazione con le statistiche sull'esecuzione dei test.

Per passare il valore dell'argomento

  1. Nell'editor del flusso di lavoro, scorrere fino all'attività Test in esecuzione.Sebbene il nome visualizzato dell'attività è Test in esecuzione, il tipo di attività è ExecuteRemoteTestRun.

  2. Fare clic con il pulsante destro del mouse sull'attività, quindi scegliere Proprietà.Viene visualizzata la finestra Proprietà nell'angolo inferiore destro contenente gli argomenti in e out di questa attività.Uno degli argomenti in di questa attività è TestDirectory, che imposta il percorso dei file binari dei test.

  3. Nella finestra Proprietà fare clic su TestDirectory.Alla fine della riga fare clic sui puntini di sospensione (...).

  4. In Editor espressioni, digitare TestBinariesLocation, quindi fare clic su OK.

  5. Scegliere Salva LabDefaultTemplate_customize.11.xaml dal menu File.

  6. Nella barra dei menu di Esplora controllo codice sorgente fare clic sull'icona Archivia.

È ora possibile utilizzare il file personalizzato con estensione xaml per creare nuove definizioni di compilazione.Il nuovo argomento In TestBinariesLocation verrà visualizzato nella sezione Varie della scheda Processo nella definizione di compilazione dove è possibile assegnare un valore.

Personalizzazione per supportare i programmi di installazione delle applicazioni che richiedono il riavvio del computer dopo la distribuzione

Il modello lab predefinito, non riavvia l'ambiente lab dopo aver distribuito l'applicazione.È possibile personalizzare il modello per supportare le applicazioni che possono richiedere il riavvio dopo la distribuzione.Se l'applicazione viene distribuita manualmente in un ambiente lab, si vorrebbe riavviare solo il computer in cui l'applicazione è stata installata.Visual Studio Lab Management non supporta le operazioni sulle singole macchine virtuali di un ambiente.Di conseguenza, per riavviare un computer è necessario riavviare tutti i computer dell'ambiente lab.

Nota di avvisoAttenzione

Assicurarsi che gli script di distribuzione non riavviino mai il computer.In caso contrario, l'agente di compilazione che esegue lo script di distribuzione perde la connessione con il controller di compilazione e il flusso di lavoro potrebbe arrestarsi.

Il riavvio delle macchine virtuali dopo la distribuzione della nuova compilazione richiede l'aggiunta di tre attività a LabDefaultTemplate:

  1. Arrestare l'ambiente.

  2. Avviare l'ambiente

  3. Attendere che le macchine virtuali vengano avviate prima di procedere con il resto del flusso di lavoro.

Ff934561.collapse_all(it-it,VS.110).gifArrestare l'ambiente.

È possibile aggiungere un'attività per arrestare l'ambiente al modello predefinito del flusso di lavoro trascinando l'attività StopLabEnvironment dalla Casella degli strumenti al modello di flusso di lavoro e inizializzando le variabili dell'attività.

Per arrestare l'ambiente

  1. Nell'editor del flusso di lavoro, scorrere fino a un'attività con il nome visualizzato Distribuzione dell'applicazione riuscita.

  2. Scegliere Casella degli strumenti dal menu Visualizza.Viene visualizzata la casella degli strumenti sul lato sinistro con un elenco di Attività Team Foundation Build.Scorrere l'elenco delle attività fino a visualizzare l'elenco di Attività Team Foundation Lab Management.

  3. Nella casella degli strumenti, fare clic sull'attività StopLabEnvironment.Trascinarla nell'editor del flusso di lavoro e posizionarla prima dell'attività Distribuzione dell'applicazione riuscita.

  4. Fare clic con il pulsante destro del mouse sull'attività, quindi scegliere Proprietà.Viene visualizzata la finestra delle proprietà con gli argomenti In e Out per questa attività.Si noti che il flusso di lavoro dispone già di una variabile denominata LabEnvironmentUri che fa riferimento all'URI dell'ambiente.

  5. Scegliere la scheda Variabili.Viene visualizzato l'elenco delle variabili.

  6. Nella riga LabEnvironmentUri e sotto la colonna Predefinito, fare doppio clic su Immettere un'espressione VB.Nella casella di testo digitare LabEnvironmentUri.Viene visualizzato l'elenco degli utilizzi esistenti del parametro nell'editor consentendo di selezionare il valore dall'elenco anziché digitarlo.

Ff934561.collapse_all(it-it,VS.110).gifAvviare l'ambiente

È possibile aggiungere un'attività per avviare l'ambiente al modello predefinito del flusso di lavoro trascinando l'attività StartLabEnvironment dalla Casella degli strumenti al modello di flusso di lavoro e inizializzando le variabili dell'attività.

Per avviare l'ambiente

  1. Nella casella degli strumenti, fare clic sull'attività StartLabEnvironment.Trascinarla nell'editor del flusso di lavoro e posizionarla prima dell'attività Distribuzione dell'applicazione riuscita e dopo l'attività StopLabEnvironment.

  2. Fare clic con il pulsante destro del mouse sull'attività, quindi scegliere Proprietà.Viene visualizzata la finestra delle proprietà con gli argomenti In e Out per questa attività.Di nuovo, si noti che il flusso di lavoro dispone già di una variabile denominata LabEnvironmentUri che fa riferimento all'URI dell'ambiente.

    Scegliere la scheda Variabili.Viene visualizzato l'elenco delle variabili.

    Nella riga LabEnvironmentUri e sotto la colonna Predefinito, fare doppio clic su Immettere un'espressione VB.Nella casella di testo digitare LabEnvironmentUri.Viene visualizzato l'elenco degli utilizzi esistenti del parametro nell'editor consentendo di selezionare il valore dall'elenco anziché digitarlo.

Ff934561.collapse_all(it-it,VS.110).gifAttendere che i computer vengano riavviati prima di procedere con il resto del flusso di lavoro.

È possibile aggiungere il tempo di attesa per l'avvio delle macchine virtuali trascinando l'attività Ritardo dalla casella degli strumenti al modello di flusso di lavoro e inizializzando le variabili dell'attività.Questa attività è disponibile nella scheda Primitive della casella degli strumenti.

Per attendere l'avvio delle macchine virtuali

  1. Nella casella degli strumenti, fare clic sulla scheda Primitive.

  2. Fare clic sull'attività Ritardo.Trascinarla nell'editor del flusso di lavoro e posizionarla prima dell'attività Distribuzione dell'applicazione riuscita e dopo l'attività StartLabEnvironment.

  3. Fare clic con il pulsante destro del mouse sull'attività, quindi scegliere Proprietà.Viene visualizzata la finestra delle proprietà con gli argomenti In e Out per questa attività.Si noti che il flusso di lavoro dispone già di una variabile denominata Durata che fa riferimento al tempo di attesa.

  4. Nella finestra Proprietà, scegliere Durata quindi scegliere il pulsante con i puntini di sospensione (...).

  5. In Editor espressioni digitare il tempo di attesa (ad esempio, 10 minuti) nel formato TimeSpan.FromMinutes(10).

Dopo avere modificato questo modello, archiviarlo nel controllo del codice sorgente e utilizzarlo per creare una nuova definizione di compilazione per distribuire le applicazioni che richiedono il riavvio dopo l'installazione.

Personalizzazione per leggere i file del controllo del codice sorgente

Se si creano attività personalizzate che vengono utilizzate nel vostro modello di flusso di lavoro, verificare che l'agente di compilazione, che comunica utilizzando l'account del servizio lab, possa accedere a tali attività.Poiché queste attività devono essere archiviate nel sistema di controllo del codice sorgente come assembly personalizzati, è necessario assicurarsi che l'account del servizio lab disponga dell'autorizzazione per leggere il percorso in cui gli assembly personalizzati vengono archiviati.Per ulteriori informazioni sull'account del servizio lab, vedere Procedura: configurare l'account del servizio lab. È possibile concedere le autorizzazioni all'account del servizio lab tramite il comando tf permissions.Ad esempio, per concedere le autorizzazioni in lettura all'account del servizio lab mydomain\labAccount nel percorso $/MyProject/CustomAssemblies, è necessario eseguire un comando simile al seguente: C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE>tf permission /user:mydomain\labAccount /collection:http://aseemb-tfs11:8080/tfs/Collection0 /allow:read $/MyProject/CustomAssemblies

Personalizzazione per accedere a una destinazione finale di compilazione utilizzando l'account dell'agente di compilazione

L'agente di compilazione che esegue il flusso di lavoro lab accede alla destinazione finale della compilazione utilizzando l'account del servizio lab.Se si desidera che l'agente di compilazione utilizzi invece l'account dell'agente di compilazione, è possibile personalizzare il modello del flusso di lavoro.Individuare nel modello l'attività RunDeploymentScript che esegue gli script di distribuzione.Questa attività espone la proprietà SharedLocationForNetUse che definisce il percorso a cui si accede utilizzando l'account del servizio lab.<mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="[BuildLocation]" />Per accedere alla destinazione finale con l'account dell'agente di compilazione anziché l'account del servizio lab, eliminare la proprietà dal modello o impostare il valore di questa proprietà su null ({x: Null}) come illustrato nel seguente esempio: mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="{x:Null}" />

Personalizzazione per accedere ad altri percorsi con l'account del servizio lab

Se l'esecuzione dell'agente di compilazione con l'account del servizio lab deve leggere percorsi diversi dalla destinazione finale di compilazione, è possibile modificare il valore della proprietà SharedLocationForNetUse dal valore predefinito [BuildLocation] nel percorso desiderato.Ad esempio, per l'agente di compilazione in esecuzione con l'account del servizio lab per accedere alla directory \\contoso\scripts, si avrebbe: <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="\\contoso\scripts" />

Vedere anche

Attività

Creare una definizione di compilazione

Riferimenti

Introduzione per gli sviluppatori di Windows Workflow Foundation (WF) in .NET 4

Concetti

Attività del flusso di lavoro di Lab Management

Utilizzo di un ambiente lab per il ciclo di vita dell'applicazione

Definire il processo di compilazione