Cómo usar condiciones para diferentes ambientes Azure DevOps Pipelines

Muy bien. Digamos que estás planeando tener diferentes entornos de prueba en tu proyecto. Un ambiente para pruebas y naturalmente uno productivo. Para ambos casos, trabajar con diferentes valores desde los entornos en donde estás trbajando y para ello las variables de grupo son de gran ayuda porque así tienes agrupado todo sin ninguna preocupación de mezclar un valor con el otro.

Comienza por ir a la categoría de Biblioteca dentro de los pipelines.

Aquí acabo de crear dos grupos, el primero es algo como esto.

Así como el entorno de pruebas, también tengo ya listo el entorno de producción.

Con dos grupos de variables ya listos entonces podríamos comenzar a jugar. El mejor caso para probarlo es modificando un pequeño archivo YAML en tu pipeline. Me la pasé mucho pensando en qué poder hacer aquí y se me ocurrió algo muy simple. Jugar con branches y de paso aprender a usar condicionales en tu pipeline, algo que puede ser de mucha ayuda.

Así que acá tienes el archivo YAML.

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:

- ${{ if eq(variables['Build.SourceBranchName'], 'master') }}:
  - group: Entorno_Produccion

- ${{ if ne(variables['Build.SourceBranchName'], 'master') }}:
  - group: Entorno_Pruebas

steps:
- script: echo Hello, world!
  displayName: 'Run a one-line script'

- script: |
    echo Add other tasks to $(Build.SourceBranchName), $(Build.Repository.Name), $(location) and $(myConnectionString) your project.
    echo See https://aka.ms/yaml
  displayName: 'Run a multi-line script'

Quizá se ve ligeramente complicado pero no lo es en lo absoluto. Como podrás ver solo se trata de una condición que establece que grupo de variables vas a usar. Haz un commit (de hecho hasta puedes hacerlo desde Azure DevOps, para ahorrar algo de tiempo), este commit debes hacerlo en primer lugar con la rama master para que puedas ver el resultado.

Hasta aquí podrás notar que gracias al script se ve la rama que ejecutó el proceso y el nombre de las dos variables. Realiza el segundo commit ahora con una nueva rama.

El resultado de lo que verás ahora debe ser el siguiente.

Como podrás ver, las variables han cambiado de acuerdo a la rama que hayas usado para ejecutar el pipeline. De esta manera es que solo te basta insertar las variables que requieras para tu entorno completo y así gracias a un grupo de variables y una condición, puedes lidiar con varios entornos de trabajo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *