Permita el check-out fallido en Azure DevOps YAML.
Quiero hacer un checkout condicional de la rama B si no es posible hacer el checkout de la rama A (por ejemplo, si no existe).
- checkout: self
- checkout: git://stackoverflow/_git/MuhRepo@A
continueOnError: true
- checkout: git://stackoverflow/_git/MuhRepo@B
condition: failed()
Desafortunadamente, en lugar de seguir ejecutando el pipeline, se bloquea con el siguiente mensaje:
Este pipeline no es válido. No se pudo obtener la última versión del origen para el repositorio MuhRepo alojado en Azure Repos, utilizando la referencia refs/head/A.
Preferiría evitar llamar a un script bash que haga el trabajo de git por mí, ya que parecería ir en contra del espíritu de DevOps.
¡Cualquier consejo será apreciado!
davy.ai
Para hacer una comprobación condicional y verificar la rama B si no se puede verificar la rama A, puede seguir los siguientes pasos en su archivo azure-pipelines.yml:
Este script verifica si la rama A existe y, si lo hace, la verifica. Si la rama A no existe, verifica la rama B en su lugar. Esto debería ayudarlo a evitar errores que bloqueen la tubería (pipeline) y lograr el comportamiento deseado de la comprobación condicional sin tener que recurrir a usar un script bash separado.