Tokiota Blog

Azure CLI extensión para Azure DevOps, continua documentando

Jose María Flores Zazo

Parafraseando la apertura de mi anterior artículo sobre Azure CLI: “El entorno gráfico del portal de Azure DevOps, cambia constantemente”, es cierto que no tanto como el portal de Azure. Pero sirve para hacer hincapié en que estamos aproximadamente en la misma situación.

Esta vez no se trata de documentar cambios, si no, de documentar como preparar el entorno de nuestro proyecto y poder reproducirlo ante algún problema: borrado de una variable, modificación de alguna configuración de un despliegue, etc. o simplemente para moverlo de tenant.

Muy pocos desarrolladores conocen esta extensión para la herramienta Azure CLI que lleva con nosotros aproximadamente un año: Azure DevOps CLI

Para poder usarla primero debes tener instalado Azure CLI y posteriormente añadir la extensión:

  
az extension add --name azure-devops

A partir de este momento el trabajo es muy similar al que realizamos con Azure CLI:

  
az login

Establecemos un proyecto por defecto:

  
ORGANIZATION_URL=https://dev.azure.com/your-organization
PROJECT_NAME=your-project
az devops configure --defaults organization=$ORGANIZATION_URL project=$PROJECT_NAME

Podemos importar un proyecto desde GitHub o desde una cuenta de DevOps (supongamos que estamos moviendo el proyecto a otra organización):

  
REPOSITORY_NAME=your-repository-name
REPOSITORY_URL=https://dev.azure.com/your-new-organizacion/$PROJECT_NAME
az repos create --name $REPOSITORY_NAME
az repos import create --git-source-url $REPOSITORY_URL --repository $REPOSITORY_NAME

Crear un grupo de variables:

  
$SUBSCRIPTION_ID=your-subscription-id
$SERVICE_CONNECTION_NAME=your-service-connection-name
$VARIABLE_1=your-value-1
$VARIABLE_2=your-value-2
az pipelines variable-group create  --name MY_PROJECT_SETTINGS --authorize \
    --variables VARIABLE_1=$VARIABLE_1 \
    VARIABLE_2=$VARIABLE_2 \
    AZURE_SERVICE_CONNECTION_NAME="$SERVICE_CONNECTION_NAME" \
    AZURE_SUBSCRIPTION_ID=$SUBSCRIPTION_ID

Crear un Pipeline con variables:

  
PIPELINE_NAME=your-pipeline-name
az pipelines create --name $PIPELINE_NAME --repository $REPOSITORY_NAME \
    --repository-type tfsgit --branch main --skip-first-run \
    --yml-path pipelines/your-pipeline-file.yml
az pipelines variable create --pipeline-name $PIPELINE_NAME --name PIPELINE_VAR_1 \
    --allow-override

También podrás lanzar el pipeline desde CLI:

  
VAR_1=your-value
az pipelines run --name $PIPELINE_NAME \
    --variables PIPELINE_VAR_1=$VAR_1

Toda la información de la extensión podrás verla con el comando:

  
az devops -h

Insisto, toda esta información debe estar incluida en el Readme del proyecto. Con unos comandos tan simples te ahorras ir navegando por las distintas opciones del entorno gráfico, tomado capturas y añadiendo anotaciones.

Espero que con esta breve introducción puedas dilucidar el potencial que ofrece usar la línea de comandos. Deliberadamente esta vez no he puesto ninguna captura de pantalla, ni siquiera para mostrar a que sección se corresponden en el portal de Azure DevOps.

Nota: Todos los ejemplo anteriores están preparados para usarlos con WSL
Jose María Flores Zazo
Escrito por:

Jose María Flores Zazo

Development & Cloud Consultant

Compartelo por: