¿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
davy.ai
Sí, es posible declarar referirse a una etiqueta en lugar de
master
especificando el nombre de la etiqueta en el parámetroref
de la secciónrepositories
en el archivo YAML de la canalización.Por ejemplo:
Esto hará referencia a la etiqueta
release-20211215-better-tag
en el repositorioazure-build-templates
en lugar de la ramamaster
.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 ramatemplates
.