Condividi tramite


Utilizzare e sviluppare attività del processo di compilazione personalizzate

"Hello World" da un'attività C Sharp

Dopo aver creato un modello di processo di compilazione personalizzato, è possibile applicare la logica di business mediante istruzioni di Windows Workflow e attività predefinite di Team Foundation Build (TFBuild). Se questi strumenti non sono sufficienti, è possibile usare attività di terze parti o, se necessario, implementare il proprio codice .NET Framework in un oggetto CodeActivity.

Suggerimento

Se le funzionalità di processo di compilazione personalizzato possono essere codificate in un file batch di Windows o in uno script PowerShell, è possibile caricare lo script ed eseguirlo come parte del processo di compilazione.Questo approccio può essere più veloce e più semplice rispetto a creare un processo di compilazione personalizzato.Vedere Eseguire uno script nel processo di compilazione.

  • Creare un'attività del processo di compilazione personalizzato

  • Modificare il modello di processo di compilazione

  • Caricare il processo di compilazione personalizzato

    • Icona TFVC Caricare e abilitare il processo di compilazione personalizzato in un progetto team TFVC

    • Icona Git Caricare e abilitare il processo di compilazione personalizzato in un progetto team Git

  • Abilitare il processo di compilazione personalizzato

  • Eseguire la compilazione

  • Domande e risposte

"Hello World" nel riepilogo della compilazione

Creare un'attività del processo di compilazione personalizzato

Importante

Prima di iniziare, creare una copia del modello e inserirla in un progetto di codice.Se questa operazione non è stata eseguita, in questa sezione viene illustrato come effettuarla.

È necessario sviluppare l'attività del processo di compilazione nella stessa soluzione dei modelli di processo di compilazione.Se si opera in questo modo, quando è necessario usare una delle attività nel modello di processo, l'attività è disponibile nella casella degli strumenti di Progettazione flusso di lavoro.È necessario tuttavia mantenere il codice sorgente per le attività in un progetto di codice diverso da quello che contiene i modelli di processo di compilazione.

  1. Aggiungere un nuovo progetto di codice C# o Visual Basic alla soluzione contenente il progetto di codice del modello di processo di compilazione.

    Nuovo progetto per soluzione BuildProcessSource

    Nuovo progetto

  2. Aggiungere i riferimenti seguenti al nuovo progetto di codice:

    Come è possibile aggiungere tali riferimenti al progetto di codice?

    Salvare il progetto di codice.

  3. Aggiungere una nuova attività al progetto.

    Nuovo elemento per progetto codice sorgente

    Aggiungi nuovo elemento

  4. Implementare l'oggetto CodeActivity, ad esempio, Hello.cs:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Activities;
    using Microsoft.TeamFoundation.Build.Workflow.Activities;
    using Microsoft.TeamFoundation.Build.Client;
    using Microsoft.TeamFoundation.Build.Workflow.Tracking;
    
    namespace BuildProcessSource
    {
        // enable the build process template to load the activity
        [BuildActivity(HostEnvironmentOption.All)]
        // keep the internal activity operations from appearing in the log
        [ActivityTracking(ActivityTrackingOption.ActivityOnly)]
        public sealed class Hello : CodeActivity
        {
            // Define an activity input argument of type string
            public InArgument<string> SayHelloTo { get; set; }
    
            // If your activity returns a value, derive from CodeActivity<TResult>
            // and return the value from the Execute method.
            protected override void Execute(CodeActivityContext context)
            {
                // Obtain the runtime value of the Text input argument
                string text = context.GetValue(this.SayHelloTo);
    
                // Add our default value if we did not get one
                if (text == null || text == "")
                {
                    text = "World";
                }
    
                // Write the message to the log
                context.TrackBuildWarning("Hello " + text, BuildMessageImportance.High);
            }
        }
    }
    

    Non è necessario alcun file Activity1.xaml, pertanto è possibile eliminarlo se si desidera.

  5. Compilare la soluzione in Visual Studio (tastiera: CTRL + MAIUSC + B).

Al termine, la soluzione dovrebbe risultare simile al seguente:

Esempio di soluzione personalizzata del processo di compilazione

Modificare il modello di processo di compilazione

Nella soluzione modificare il modello di processo di compilazione trascinandovi le attività. Dopo l'aggiunta dell'attività al modello, impostarne le proprietà (tastiera: F4).

Modifica di un modello di processo di compilazione da una soluzione

Al termine, salvare il modello.

Caricare il processo di compilazione personalizzato

Prima di poter definire una compilazione che usa il modello di processo di compilazione personalizzato, è necessario caricarla e attivarla.

  • Icona TFVC Caricare e abilitare il processo di compilazione personalizzato in un progetto team TFVC

  • Icona Git Caricare e abilitare il processo di compilazione personalizzato in un progetto team Git

Caricare il processo di compilazione personalizzato in un progetto team TFVC

In un Icona TFVC progetto team TFVC:

  1. Assicurarsi di aver compilato la soluzione (tastiera: CTRL+MAIUSC+B).

  2. Connettersi (tastiera: CTRL+0, C) al progetto team in cui si intende archiviare l'origine del processo di compilazione.

  3. In Esplora controllo codice sorgente aggiungere elementi alla cartella che contiene il progetto di codice dell'attività.

    Esplora controllo codice sorgente

  4. Passare alla cartella che contiene il file con estensione dll e selezionarlo. Esempio: C:\Utenti\NomeUtente\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.

    Aggiungere il binario del processo di compilazione al controllo della versione TFVC

  5. Completare il processo per aggiungere il file.

    Aggiungere il binario del processo di compilazione al controllo della versione TFVC

  6. Archiviare le modifiche.

    Modifiche in sospeso

Caricare il processo di compilazione personalizzato in un progetto team Git

In a Icona Git progetto team Git:

  1. Importante:

    • l'archiviazione di file binari (particolarmente nel caso di numerose revisioni a file di grandi dimensioni) può aumentare notevolmente le dimensioni del repository Git. Si consiglia di archiviare i file binari del processo di compilazione personalizzato in un repository separato dal codice in cui si compila l'applicazione. È possibile creare un progetto team diverso a tale scopo oppure è possibile creare un repository aggiuntivo nel progetto team esistente.

    • È necessario archiviare i file binari in una sottocartella nel repository Git. Se si tenta di usare file binari nella cartella radice, potrebbe venire visualizzato un messaggio di errore relativo a branch Git non trovato che blocca l'utente.

  2. Assicurarsi di aver compilato la soluzione (tastiera: CTRL+MAIUSC+B).

  3. Connettersi (tastiera: CTRL+0, C) al progetto team in cui si intende archiviare l'origine del processo di compilazione.

  4. Aprire la finestra del prompt dei comandi Git.

    Aprire il prompt dei comandi dalla pagina Modifiche

    D: Non riesco ad aprire il prompt dei comandi. Quale operazione devo eseguire? R: abilitare il prompt dei comandi Git.

  5. Usare il prompt dei comandi Git per aggiungere il file con estensione dll. Ad esempio:

    cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug
    
    git add Source.dll -f
    
  6. Eseguire il commit delle modifiche.

    Pulsante Commit nella pagina Modifiche

  7. Sincronizzare o eseguire il push del commit.

    Collegamento Sincronizza nella pagina Modifiche

    Pulsante Sincronizza e collegamento Push nella pagina Commit non sincronizzati

Abilitare il processo di compilazione personalizzato

Prima di eseguire il processo di compilazione personalizzato, è necessario indirizzare il controller di compilazione ai file binari caricati in TFS e selezionare il modello di processo di compilazione nella definizione di compilazione.

  1. Nella pagina delle compilazioni (tastiera: CTRL+0, B) scegliere Azioni, quindi scegliere Gestisci controller di compilazione.

  2. Nella finestra di dialogo Gestisci controller di compilazione evidenziare il controller che verrà usato per eseguire questo processo di compilazione, quindi scegliere Proprietà.

    Finestra di dialogo Gestisci controller di compilazione

  3. Specificare il percorso del controllo della versione agli assembly personalizzati.

    Finestra di dialogo Proprietà controller di compilazione

    Schermata VisualStudioEllipsesButton Passare a una cartella predecessore della cartella in cui è stato caricato il processo di compilazione nei passaggi precedenti.

    • Icona TFVC Esempio TFVC: $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug

    • Icona Git Esempio Git: BuildProcessSource/Source/Bin/Debug

      Finestra di dialogo Sfoglia che mostra valori Git

      Il sistema converte automaticamente il valore immesso in un percorso vstfs. Esempio: vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.

      Percorso controllo della versione a assembly personalizzati

  4. Se non è ancora stato fatto, creare o modificare una definizione di compilazione e selezionare il modello di processo di compilazione personalizzato.

    Definizione di compilazione con modello di processo personalizzato

Eseguire la compilazione

Accodare la compilazione. Il risultato dovrebbe essere analogo al seguente:

"Hello World" nel riepilogo della compilazione

Domande e risposte

D: Sono stato bloccato dal sistema perché non dispongo dell'autorizzazione.Come posso ottenerla?

R: Riferimento alle autorizzazioni per Team Foundation Server

D: Come è possibile aggiungere i riferimenti necessari per usare il flusso di lavoro TFBuild?

R: Usare Gestione riferimenti.

Visualizzare i riferimenti del progetto di codice e aprire Gestione riferimenti.

Menu di scelta rapida Riferimenti

Finestra di dialogo Gestione riferimenti

Spostarsi in C:\Programmi (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0, quindi selezionare e aggiungere:

Finestra di dialogo Selezionare i file a cui fare riferimento

Finestra di dialogo Gestione riferimenti

D: Cosa sta provocando errori nel processo di compilazione personalizzato?

R: alcune cause comuni di errore.

D: Cos'è Windows Workflow Foundation?Come si usa?

R: Windows Workflow Foundation.

D: Dove è possibile trovare informazioni sulle attività incorporate?

R: attività di Team Foundation Build

D: Dove è possibile ottenere modelli di processo di compilazione, attività di flusso di lavoro e script?

R: Estensioni di compilazione TFS della community

D: Dove è possibile reperire altre informazioni sullo sviluppo di processi di compilazione personalizzati?

R: Risposta curata: personalizzare il processo di Team Foundation Build