Compilación de varias ramas en Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Con Azure Pipelines, puede crear desencadenadores para compilar su proyecto con cada nueva solicitud de confirmación e incorporación de cambios en el repositorio. En este artículo, aprenderá a habilitar la integración continua y a configurar varias compilaciones de rama para el repositorio.

Requisitos previos

Habilitación de un desencadenador de CI para una rama puntual

Al trabajar con Git, es habitual crear ramas temporales desde la rama principal para simplificar los flujos de trabajo. Estas ramas, que a menudo se denominan ramas puntuales o de características, sirven para aislar el trabajo. Dentro de este flujo de trabajo, creará una rama dedicada a una característica o corrección de errores específicas y, una vez completada, volverá a combinar el código en la rama principal antes de eliminar la rama puntual.

Si no se especifica ningún desencadenador explícitamente en el archivo YAML, todos los cambios realizados en las ramas desencadenarán una ejecución. Para agregar desencadenadores para la rama principal y cualquier rama feature/, incluya el siguiente fragmento de código en el archivo YAML. Esto garantizará que las modificaciones realizadas en estas ramas desencadenen automáticamente una ejecución de canalización.

trigger:
- main
- feature/*

Las compilaciones de YAML aún no están disponibles en TFS.

Personalización de las tareas de compilación en función de la rama que se está compilando

La rama principal suele ser responsable de generar artefactos implementables, como archivos binarios. En el caso de las ramas de características de corta duración, no es necesario dedicar tiempo a crear y almacenar esos artefactos. En Azure Pipelines, puede implementar condiciones personalizadas para asegurarse de que las tareas específicas solo se ejecuten en la rama principal.

Edite el archivo azure-pipelines.yml en la rama principal y agregue una condición a la tarea deseada. Por ejemplo, el fragmento de código siguiente agrega una condición a la tarea de publicación de artefactos de canalización.

- task: PublishPipelineArtifact@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

Las compilaciones de YAML aún no están disponibles en TFS.

Comprobación de las solicitudes de incorporación de cambios

Para garantizar la protección de las ramas, puede usar directivas que exijan compilaciones correctas antes de combinar solicitudes de cambios. Con Azure Pipelines, tiene la flexibilidad de configurar el requisito de una nueva compilación correcta para combinar los cambios en las ramas más importantes, como la rama principal.

Repositorio de GitHub

Si no define explícitamente desencadenadores pr en el archivo YAML, las compilaciones de solicitudes de cambios se habilitarán de manera predeterminada para todas las ramas. Sin embargo, tiene la flexibilidad de especificar las ramas de destino para las compilaciones de solicitud de cambios. Por ejemplo, si desea ejecutar la compilación exclusivamente para las solicitudes de cambios destinadas a la rama principal y las ramas que comiencen por feature/, puede especificar la siguiente configuración:

pr:
- main
- feature/*

Las compilaciones de YAML aún no están disponibles en TFS.

Repositorio de Azure Repos

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Repos y, a continuación, seleccione Ramas.

  3. Seleccione el icono de puntos suspensivos situado a la derecha del nombre de la rama y seleccione Directivas de rama.

  4. En el menú Validación de compilación, seleccione el signo + para agregar una directiva de compilación.

  5. Seleccione la canalización de compilación en el menú desplegable y asegúrese de que Desencadenador esté establecido en automático y que Requisito de directiva esté establecido en obligatorio.

  6. Escriba un valor descriptivo para Nombre para mostrar que describa la directiva.

  7. Seleccione Guardar para crear y habilitar la directiva. Seleccione Guardar cambios en la parte superior izquierda de la pantalla para guardar los cambios.

Captura de pantalla que muestra cómo agregar una nueva directiva de compilación.

  1. Para probar la directiva, vaya a Repos>Solicitudes de cambios el portal de Azure DevOps.

  2. Seleccione Nueva solicitud de cambios y asegúrese de que la rama puntual esté establecida para combinarla en la rama principal y, a continuación, seleccione Crear.

  3. En la pantalla, puede ver la directiva que se está ejecutando actualmente.

  4. Seleccione el nombre de la directiva para examinar la compilación. Si la compilación se realiza correctamente, la solicitud de cambios se combinará. Si se produce un error en la compilación, la combinación se bloqueará.

Nota:

Azure Pipelines ya no admite las directivas de retención por canalización. Se recomienda usar reglas de retención de nivel de proyecto.