Compartir a través de


Desarrollar y usar actividades de proceso de compilación personalizadas

"Hola a todos" de una actividad de C Sharp

Después de crear una plantilla de proceso de compilación personalizada, puede implementar su propia lógica empresarial mediante instrucciones de Windows Workflow y las actividades integradas de Team Foundation Build (TFBuild). Si estas herramientas no son suficientes, puede utilizar actividades de terceros o, en caso necesario, implementar su propio código de .NET Framework en CodeActivity.

Sugerencia

Si la funcionalidad del proceso de compilación personalizado puede codificarse en un archivo por lotes de Windows o un script de PowerShell, puede cargar el script y ejecutarlo como parte del proceso de compilación.Este enfoque podría ser más rápido y más sencillo que crear un proceso de compilación personalizado.Consulta Ejecutar un script en el proceso de compilación.

  • Crear una actividad de proceso de compilación personalizada

  • Editar la plantilla de proceso de compilación

  • Cargar el proceso de compilación personalizado

    • Icono de TFVC Cargar y habilitar el proceso de compilación personalizado en un proyecto de equipo de TFVC

    • Icono de Git Cargar y habilitar el proceso de compilación personalizado en un proyecto de equipo de Git

  • Habilitar el proceso de compilación personalizado

  • Ejecutar la compilación

  • Preguntas y respuestas

"Hola a todos" en el resumen de la compilación

Crear una actividad de proceso de compilación personalizada

Importante

Antes de empezar, obtenga una copia de la plantilla y colóquela en un proyecto de código.Si no ha hecho aún, aquí verá cómo hacerlo.

Debe desarrollar la actividad del proceso de compilación en la misma solución que las plantillas de proceso de compilación.Al trabajar de esta manera, si necesita utilizar una de las actividades de la plantilla de proceso, la actividad está disponible en el cuadro de herramientas del diseñador de flujo de trabajo.Sin embargo, debe mantener el código fuente de las actividades en un proyecto de código independiente del que contiene las plantillas de proceso de compilación.

  1. Agregue un nuevo proyecto de código de C# o Visual Basic a la solución que contiene el proyecto de código de la plantilla de proceso de compilación.

    Nuevo proyecto para la solución BuildProcessSource

    Nuevo proyecto

  2. Agregue las referencias siguientes al nuevo proyecto de código:

    ¿Cómo agrego estas referencias al proyecto de código?

    Guarde el proyecto de código.

  3. Agregue una nueva actividad al proyecto.

    Nuevo elemento para proyecto de código fuente

    Agregar nuevo elemento

  4. Implemente el objeto CodeActivity. Por ejemplo, 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);
            }
        }
    }
    

    No necesita el archivo Activity1.xaml, por lo que puede eliminarlo si lo desea.

  5. Compile la solución en Visual Studio (teclado: Ctrl + Mayús + B).

Cuando haya terminado, la solución debe tener un aspecto similar al siguiente:

Ejemplo de una solución de proceso de compilación personalizado

Editar la plantilla de proceso de compilación

Desde la solución, edite la plantilla de proceso de compilación arrastrando las actividades hasta ella. Una vez que la actividad se agregue a la plantilla, establezca sus propiedades (teclado: F4).

Edición de una plantilla de proceso de compilación desde una solución

Cuando termine, guarde la plantilla.

Cargar el proceso de compilación personalizado

Para poder definir una compilación que use la plantilla y la actividad de proceso de compilación personalizadas, antes debe cargarlas y habilitarlas.

  • Icono de TFVC Cargar y habilitar el proceso de compilación personalizado en un proyecto de equipo de TFVC

  • Icono de Git Cargar y habilitar el proceso de compilación personalizado en un proyecto de equipo de Git

Cargar el proceso de compilación personalizado en un proyecto de equipo de TFVC

En un Icono de TFVC proyecto de equipo de TFVC:

  1. Asegúrese de que haya compilado la solución (teclado: Ctrl + Mayús + B).

  2. Conecte (teclado: Ctrl + 0, C) al proyecto de equipo donde piensa almacenar el origen del proceso de compilación.

  3. Desde el Explorador de control de código fuente, agregue elementos a la carpeta que contiene el proyecto de código de la actividad.

    Explorador de control de código fuente

  4. Vaya a la carpeta que contiene el archivo .dll y selecciónelo. Por ejemplo, C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.

    Agregar proceso de compilación binario al control de versiones de TFVC

  5. Finalice el proceso para agregar el archivo.

    Agregar proceso de compilación binario al control de versiones de TFVC

  6. Proteja sus cambios.

    Cambios pendientes

Cargar el proceso de compilación personalizado en un proyecto de equipo de Git

En un Icono de Git proyecto de equipo de Git:

  1. Importante:

    • El almacenamiento de los archivos binarios (especialmente muchas revisiones de archivos grandes) puede aumentar el tamaño del repositorio de Git. Le recomendamos que almacene los archivos binarios personalizados del proceso de compilación en un repositorio que sea independiente del código desde el que se compila la aplicación. Puede crear un proyecto de equipo diferente para esta finalidad o puede crear un repositorio adicional en el proyecto de equipo existente.

    • Debe almacenar los archivos binarios en una subcarpeta del repositorio de Git. Si intenta utilizar los archivos binarios en la carpeta raíz, es posible que aparezca un mensaje de error porque no se encuentra la bifurcación de git.

  2. Asegúrese de que haya compilado la solución (teclado: Ctrl + Mayús + B).

  3. Conecte (teclado: Ctrl + 0, C) al proyecto de equipo donde piensa almacenar el origen del proceso de compilación.

  4. Abra la ventana del símbolo del sistema de Git.

    Abrir símbolo del sistema desde la página Cambios

    P: No puedo abrir el símbolo del sistema. ¿Qué hago? R: Habilite el símbolo del sistema de Git.

  5. Utilice el símbolo del sistema de Git para agregar el archivo .dll. Por ejemplo:

    cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug
    
    git add Source.dll -f
    
  6. Confirme sus cambios.

    Botón Confirmar en la página Cambios

  7. Sincronice o inserte su confirmación.

    Sincronizar vínculo en la página Cambios

    Botón Sincronizar y vínculo Insertar en la página Confirmaciones no sincronizadas

Habilitar el proceso de compilación personalizado

Para poder ejecutar el proceso de compilación personalizado, debe designar el controlador de compilación a los archivos binarios cargados en TFS y seleccionar la plantilla de proceso de compilación en la definición de compilación.

  1. En la página Compilaciones (teclado: Ctrl + 0, B), elija Acciones y, a continuación, elija Administrar controladores de compilación.

  2. En el cuadro de diálogo Administrar controladores de compilación, resalte el controlador que usará para ejecutar este proceso de compilación y, a continuación, elija Propiedades.

    Cuadro de diálogo Administrar controladores de compilación

  3. Especifique la ruta de acceso de control de versiones para los ensamblados personalizados.

    Cuadro de diálogo Propiedades del controlador de compilación

    Captura de pantalla de VisualStudioEllipsesButton Desplácese a una carpeta que sea antecesora de la carpeta en la que cargó el proceso de compilación en los pasos anteriores.

    • Icono de TFVC Ejemplo de TFVC: $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug

    • Icono de Git Ejemplo de Git: BuildProcessSource/Source/Bin/Debug

      Cuadro de diálogo Examinar con valores Git

      El sistema convierte automáticamente el valor que se especifica en una ruta de acceso de vstfs. Por ejemplo: vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.

      Ruta de acceso del control de versiones a ensamblados personalizados

  4. Si no lo ha hecho todavía, cree o modifique una definición de compilación y seleccione la plantilla de proceso de compilación personalizada.

    Definición de compilación con plantilla de proceso personalizada

Ejecutar la compilación

Ponga en cola la compilación. El resultado debe ser similar al siguiente:

"Hola a todos" en el resumen de compilación

Preguntas y respuestas

P: El sistema me bloqueó porque no tengo permisos.¿Cómo se puede conseguir?

R: Referencia de permisos para Team Foundation Server

P: ¿Cómo agrego las referencias que necesito para trabajar con el flujo de trabajo de TFBuild?

R: Use el administrador de referencias para agregar referencias a bibliotecas.

Vea las referencias de proyecto de código y abra el administrador de referencias.

Menú contextual Referencias

Cuadro de diálogo Administrador de referencias

Desplácese a C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0 y seleccione y agregue:

Cuadro de diálogo Seleccionar archivos a los que hacer referencia

Cuadro de diálogo Administrador de referencias

P: ¿Qué está causando errores en mi proceso de compilación personalizado?

R: Algunas causas comunes de errores.

P: ¿Qué es Windows Workflow Foundation?¿Cómo se usa?

R: Windows Workflow Foundation.

P: ¿Dónde se puede obtener información sobre las actividades integradas?

R: Actividades de Team Foundation Build

P: ¿Dónde puedo obtener plantillas de proceso de compilación, actividades de flujo de trabajo y scripts?

R: Extensiones de TFS Build de la comunidad

P: ¿Dónde puedo obtener más información sobre cómo desarrollar procesos de compilación personalizados?

R: Respuesta de Curah!: Personalizar el proceso de Team Foundation Build