es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Hay alguna forma de definir la plantilla del pipeline de Azure para que se importe desde una etiqueta de git en lugar de desde la rama principal (master)?

Considere un pipeline basado en yaml:

resources:
  repositories:
    - repository: templates
      type: git
      name: My-Proj/azure-build-templates

stages:
– template: test_pipeline/include-build-java-sonarqube.yml@templates
parameters:
agent_pool_name: $(agentPoolName)
maven_goal: ‘mvn clean package’

“`

Esto hará referencia al repositorio azure-build-templates en la rama master. ¿Existe alguna forma de declarar que haga referencia a una etiqueta en lugar de master? por ejemplo, name: My-Proj/azure-build-templates@release-20211215-better-tag

Contexto de utilidad: Recientemente hicimos un push en master, lo cual rompió todas las canalizaciones que hacen referencia a él. Como solución, tuvimos que retroceder con operaciones de git en la rama master. Me pregunto si habría alguna forma de hacer referencia a una etiqueta al estilo de Jenkins, de forma que el retroceso sea simplemente apuntar de una etiqueta de git a otra. (El inconveniente es que en cada versión se deben actualizar todas las canalizaciones, por lo que estoy abierto a cualquier sugerencia para la gestión de versiones de plantillas). Gracias.

Ref: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/resources?view=azure-devops&tabs=schema#define-a-repositories-resource

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible declarar referirse a una etiqueta en lugar de master especificando el nombre de la etiqueta en el parámetro ref de la sección repositories en el archivo YAML de la canalización.

    Por ejemplo:

    resources:
      repositories:
        - repository: templates
          type: git
          name: My-Proj/azure-build-templates
          ref: refs/tags/release-20211215-better-tag
    

    Esto hará referencia a la etiqueta release-20211215-better-tag en el repositorio azure-build-templates en lugar de la rama master.

    El uso de etiquetas para versionar sus plantillas puede simplificar la gestión de versiones y permitir fácilmente realizar cambios de versión. Cada vez que realice cambios en sus plantillas, puede crear una nueva etiqueta que apunte al último commit y hacer referencia a esa etiqueta en su archivo YAML de la canalización. Cuando necesite realizar un rollback, simplemente puede actualizar el archivo YAML de la canalización para que apunte a la etiqueta anterior.

    También puede utilizar una rama dedicada para sus plantillas (por ejemplo, templates) y realizar cambios solo en esa rama. Esto también puede simplificar la gestión de versiones, ya que puede actualizar todas sus canalizaciones para que apunten al último commit en la rama templates.

Comments are closed.