Administrar grupos de variables
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
En este artículo se explica cómo crear y usar grupos de variables en Azure Pipelines. Los grupos de variables almacenan valores y secretos que puede pasar a una canalización de YAML o que estén disponibles en varias canalizaciones en un proyecto.
Las variables secretas de los grupos de variables son recursos protegidos. Puede agregar combinaciones de aprobaciones, comprobaciones y permisos de canalización para limitar el acceso a variables secretas en un grupo de variables. El acceso a variables no secretas está limitado por aprobaciones, comprobaciones o permisos de canalización.
Los grupos de variables siguen el modelo de seguridad de la biblioteca para roles y permisos.
Requisitos previos
- Organización y proyecto de Azure DevOps Services en el que tiene permisos para crear canalizaciones y variables.
- Un proyecto de la organización de Azure DevOps o de la colección de Azure DevOps Server. Cree un proyecto si no tiene uno.
- Si usa la CLI de Azure DevOps, necesita la versión 2.30.0 o posterior de la CLI de Azure con la extensión de la CLI de Azure DevOps. Para más información, consulte Introducción a la CLI de Azure DevOps.
- Colección y proyecto de Azure DevOps Server en el que tiene permisos para crear canalizaciones y variables.
- Un proyecto de la organización de Azure DevOps o de la colección de Azure DevOps Server. Cree un proyecto si no tiene uno.
Configuración de la CLI
Si usa la CLI de Azure DevOps, debe configurar la CLI para que funcione con la organización y el proyecto de Azure DevOps.
Inicie sesión en su organización de Azure DevOps mediante el comando az login .
az login
Si se le solicita, seleccione la suscripción en la lista que se muestra en la ventana del terminal.
Asegúrese de que está ejecutando la versión más reciente de la CLI de Azure y la extensión de Azure DevOps mediante los siguientes comandos.
az upgrade az extension add --name azure-devops --upgrade
En los comandos de la CLI de Azure DevOps, puede establecer la organización y el proyecto predeterminados mediante:
az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
Si no ha establecido la organización y el proyecto predeterminados, puede usar el
detect=true
parámetro en los comandos para detectar automáticamente la organización y el contexto del proyecto en función del directorio actual. Si los valores predeterminados no están configurados o detectados, debe especificar explícitamente los parámetros yproject
en losorg
comandos.
Creación de un grupo de variables
Puede crear grupos de variables para las ejecuciones de canalización en el proyecto.
Nota:
Para crear un grupo de variables secretas para vincular secretos desde un almacén de claves de Azure como variables, siga las instrucciones de Vinculación de un grupo de variables a secretos en Azure Key Vault.
En su proyecto Azure DevOps, seleccione Canalizaciones>Biblitoeca en el menú izquierdo.
En la página Biblioteca, seleccione + Grupo de variables.
En la página de nuevo grupo de variables, en Propiedades, escriba un nombre y una descripción opcional para el grupo de variables.
En Variables, seleccione + Agregar y escriba un nombre y un valor de variable para incluir en el grupo. Si desea cifrar y almacenar de forma segura el valor, seleccione el icono de candado junto a la variable.
Seleccione + Agregar para agregar cada nueva variable. Cuando haya terminado de agregar variables, seleccione Guardar.
Ahora puede usar este grupo de variables en canalizaciones de proyecto.
Actualización de grupos de variables
Puede actualizar grupos de variables mediante la interfaz de usuario de Azure Pipelines.
- En su proyecto Azure DevOps, seleccione Canalizaciones>Biblitoeca en el menú izquierdo.
- En la página Biblioteca, seleccione el grupo de variables que desea actualizar. También puede mantener el puntero sobre la lista de grupos de variables, seleccionar el icono Más opciones y seleccionar Editar en el menú.
- En la página de grupo de variables, cambie cualquiera de las propiedades y, a continuación, seleccione Guardar.
Eliminar un grupo de variables
Puede eliminar grupos de variables en la interfaz de usuario de Azure Pipelines.
- En su proyecto Azure DevOps, seleccione Canalizaciones>Biblitoeca en el menú izquierdo.
- En la página Biblioteca, mantenga el puntero sobre el grupo de variables que desea eliminar y seleccione el icono Más opciones.
- Seleccione Eliminar en el menú y, a continuación, seleccione Eliminar en la pantalla de confirmación.
Administración de variables en grupos de variables
Puede cambiar, agregar o eliminar variables en grupos de variables mediante la interfaz de usuario de Azure Pipelines.
- En su proyecto Azure DevOps, seleccione Canalizaciones>Biblitoeca en el menú izquierdo.
- En la página Biblioteca, seleccione el grupo de variables que desea actualizar. También puede mantener el puntero sobre la lista de grupos de variables, seleccionar el icono Más opciones y seleccionar Editar en el menú.
- En la página de grupo de variables, puede hacer lo siguiente:
- Cambiar cualquiera de los nombres o valores de las variables.
- Eliminar cualquiera de las variables, para ello, seleccione el icono de elementos no utilizados situado junto al nombre de la variable.
- Cambiar las variables a secretos o no secretos seleccionando el icono de bloqueo situado junto al valor de variable.
- Para agregar nuevas variables, seleccione + Agregar.
- Seleccione Guardar después de hacer los cambios.
Uso de grupos de variables en canalizaciones
Puede usar grupos de variables en canalizaciones YAML o clásicas. Los cambios realizados en un grupo de variables están disponibles automáticamente para todas las definiciones o fases a las que se vincula el grupo de variables.
Si solo asigna un nombre al grupo de variables en canalizaciones YAML, cualquier persona que pueda insertar código en el repositorio podría extraer el contenido de los secretos en el grupo de variables. Por lo tanto, para usar un grupo de variables con canalizaciones YAML, debe autorizar la canalización para que use el grupo. Puede autorizar a una canalización para que use un grupo de variables en la interfaz de usuario de Azure Pipelines o mediante la CLI de Azure DevOps.
Autorización a través de la interfaz de usuario de Canalizaciones
Puede autorizar las canalizaciones para que usen los grupos de variables mediante la interfaz de usuario de Azure Pipelines.
- En su proyecto Azure DevOps, seleccione Canalizaciones>Biblitoeca en el menú izquierdo.
- En la página Biblioteca, seleccione el grupo de variables que desea autorizar.
- En la página del grupo de variables, seleccione la pestaña Permisos de canalización.
- En la pantalla Permisos de canalización, seleccione + y, luego, seleccione una canalización para autorizar. O bien, seleccione el icono Más acciones, seleccione Abrir acceso y vuelva a seleccionar Abrir acceso para confirmar.
Al seleccionar una canalización se autoriza a esa canalización a usar el grupo de variables. Para autorizar otra canalización, vuelva a seleccionar el icono +. Al seleccionar Abrir acceso, se autorizan todas las canalizaciones de proyecto para que usen el grupo de variables. Abrir el acceso podría ser una buena opción si no tiene ningún secreto en el grupo.
Otra forma de autorizar un grupo de variables es seleccionar la canalización, seleccionar Editar y, a continuación, poner en cola una compilación manualmente. Verá un error de autorización de recursos y, a continuación, puede agregar explícitamente la canalización como usuario autorizado del grupo de variables.
Autorización mediante la CLI de Azure DevOps
En Azure DevOps Services, puede autorizar grupos de variables mediante la CLI de Azure DevOps.
Los comandos de la CLI de Azure DevOps no son compatibles con Azure DevOps Server.
Para autorizar a todas las canalizaciones de proyecto para que usen el grupo de variables, establezca el parámetro authorize
en el comando az pipelines variable-group create en true
. Este acceso abierto puede ser una buena opción si no tiene ningún secreto en el grupo.
Vinculación de un grupo de variables a una canalización
Una vez que autorice una canalización YAML para que use un grupo de variables, puede usar variables dentro del grupo de la canalización.
Para usar variables de un grupo de variables, agregue una referencia al nombre del grupo en el archivo de canalización de YAML.
variables:
- group: my-variable-group
Puede hacer referencia a varios grupos de variables en la misma canalización. Si varios grupos de variables incluyen las variables con el mismo nombre, el último grupo de variables que usa la variable en el archivo establece el valor de la variable. Para obtener más información sobre la prioridad de las variables, consulte Expansión de variables.
También puede hacer referencia a un grupo de variables en una plantilla. El siguiente archivo de plantilla variables.yml hace referencia al grupo de variables my-variable-group
. El grupo de variables incluye una variable denominada myhello
.
variables:
- group: my-variable-group
La canalización YAML hace referencia a la plantilla variables.yml y usa la variable $(myhello)
del grupo de variables my-variable-group
.
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Uso de variables en un grupo de variables vinculadas
Puede acceder a los valores de variable de un grupo de variables vinculados de la misma manera que las variables que defina dentro de la canalización. Por ejemplo, para acceder al valor de una variable denominada customer
en un grupo de variables vinculado a la canalización, puede usar $(customer)
en un parámetro de tarea o un script.
Si usa variables independientes y grupos de variables en el archivo de canalización, use la sintaxis name
-value
de las variables independientes.
variables:
- group: my-variable-group
- name: my-standalone-variable
value: 'my-standalone-variable-value'
Para hacer referencia a una variable de un grupo de variables, puede usar la sintaxis de macros o una expresión en tiempo de ejecución. En los ejemplos siguientes, el grupo my-variable-group
tiene una variable llamada myhello
.
Para usar una expresión en tiempo de ejecución:
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello]
- script: echo $(my-passed-variable)
Para usar la sintaxis de macro:
variables:
- group: my-variable-group
steps:
- script: echo $(myhello)
No se puede acceder a las variables secretas, incluidas las variables cifradas y las variables de Key Vault, directamente en los scripts. Debe pasar estas variables como argumentos a una tarea. Para obtener más información, consulte Variables secretas.