¿Cómo crear dependencia en las etapas de la canalización de Azure DevOps generadas en bucle?
Tengo un pipeline en el que creo etapas dinámicamente (basándome en un diccionario de parámetros). El problema es que las etapas se ejecutan en orden aleatorio en lugar del definido. Quería crear dependencias, pero tendría que usar un bucle for en rango para poder crear algo de lógica. ¿Hay otra forma de hacer que funcione en el orden correspondiente?
Desencadenador: ninguno
Parámetros:
– nombre: Etapas
tipo: objeto
predeterminado: {
Desarrollo: d-rg,
Prueba: t-rg,
Aceptación: a-rg,
Producción: p-rg
}
Etapas:
– etapa: Pruebas
trabajos:
– trabajo: Ejecutar_pruebas
pasos:
– script: |
python -m pip install –upgrade pip
python -m pip install -r requirements.txt
Mostrar nombre: Instalar módulos
– script: |
python -m pytest -v tests/*_tests.py
Mostrar nombre: Ejecutar pruebas
– $ {{cada etapa en parámetros.Etapas}}:
– etapa: $ {{etapa.Key}}
dependediendo de:
– Pruebas
condición: éxito (& amp; # 39; Pruebas & amp; # 39;)
trabajos:
– trabajo: Ejecutar_código_de_producción
pasos:
– tarea: PythonScript@0
entradas:
scriptSource: & amp; # 39; filePath & amp; # 39; # Opciones: ruta de archivo, en línea
scriptPath: & amp; # 39; solución / main.py & amp; # 39;
argumentos: $ (directorio) / $ (nombre_base) – $ {{etapa.Valor}}.yml $ (pat) $ (organización) $ (proyecto)
Mostrar nombre: & amp; # 39; Creando $ (nombre_base) – $ {{etapa.Valor}} & amp; # 39;
davy.ai
Puedes utilizar la propiedad
dependsOn
para crear una dependencia entre etapas. Esta propiedad te permite especificar qué etapas deben completarse antes de que la etapa actual pueda comenzar. Puedes utilizar la propiedad decondition
para especificar una condición que debe cumplirse antes de que la etapa pueda comenzar. En este caso, puedes utilizar la condición desucceeded
para especificar que la etapa deTests
debe completarse antes de que la etapa actual pueda comenzar.Por ejemplo: