Extracción de configuraciones de App Configuration con Azure Pipelines

La tarea Azure App Configuration extrae los pares clave-valor del almacén de App Configuration y los establece como variables de Azure Pipelines, que pueden ser consumidos por las tareas posteriores. Esta tarea complementa la tarea Azure App Configuration Push que envía pares clave-valor desde un archivo de configuración al almacén de App Configuration. Para más información, consulte Envío de configuraciones a App Configuration con Azure Pipelines.

Requisitos previos

Creación de una conexión de servicio

Una conexión de servicio concede acceso a los recursos en la suscripción de Azure desde el proyecto de Azure DevOps.

  1. En Azure DevOps, vaya al proyecto que contiene la canalización de destino. En la esquina inferior izquierda, seleccione Configuración del proyecto.

  2. En Canalizaciones, seleccione Conexiones de servicio. En la esquina superior derecha, seleccione Nueva conexión de servicio.

  3. En Nueva conexión de servicio, seleccione Azure Resource Manager.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. En el cuadro de diálogo Método de autenticación, seleccione Entidad de servicio (automática) para crear una nueva entidad de servicio, o seleccione Entidad de servicio (manual) para usar una entidad de servicio existente.

  5. Escribir la suscripción, grupo de recursos y un nombre para su conexión de servicio.

Si ha creado una nueva entidad de servicio, busque el nombre de la entidad de servicio asignada a la conexión del servicio. En el paso siguiente, agregará una nueva asignación de roles a esta entidad de servicio.

  1. Vaya a Configuración del proyecto>Conexiones de servicio.

  2. Seleccione la nueva conexión de servicio.

  3. Seleccione Administrar entidad de servicio.

  4. Anote el valor de Nombre para mostrar.

    Screenshot shows the service principal display name.

Agregar asignación de roles

Asigne las asignaciones de roles de App Configuration adecuadas a las credenciales que se van a usar en la tarea para que esta pueda acceder al almacén de App Configuration.

  1. Vaya al almacén de App Configuration de destino.

  2. En el menú izquierdo, seleccione Control de acceso (IAM) .

  3. En el panel derecho, seleccione Agregar asignaciones de roles.

    Screenshot shows the Add role assignments button.

  4. Para el Rol, seleccione Lector de los datos de App Configuration. Este rol permite que la tarea lea en el almacén de App Configuration.

  5. Seleccione la entidad de servicio asociada con la conexión de servicio que creó en la sección anterior.

    Screenshot shows the Add role assignment dialog.

  6. Seleccione Revisar y asignar.

  7. Si el almacén contiene Key Vault referencias, vaya al Key Vault pertinente y asigne el rol de usuario de secreto de Key Vault a la entidad de servicio creada en el paso anterior. En el menú Key Vault, seleccione Directivas de acceso y asegúrese de que el control de acceso basado en roles de Azure esté seleccionado como modelo de permisos.

Uso en compilaciones

En esta sección se explicará cómo usar la tarea Azure App Configuration en una canalización de compilación de Azure DevOps.

  1. Vaya a la página de canalización de compilación al hacer clic en Canalizaciones>Canalizaciones. Para obtener documentación sobre la canalización de compilación, consulte Creación de su primera canalización.
    • Si va a crear una nueva canalización de compilación, en el último paso del proceso, en la pestaña Revisar, seleccione Mostrar asistente en el lado derecho de la canalización. Screenshot shows the Show assistant button for a new pipeline.
    • Si usa una canalización de compilación existente, haga clic en el botón Editar en la parte superior derecha. Screenshot shows the Edit button for an existing pipeline.
  2. Busque la tarea Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  3. Configure los parámetros necesarios para que la tarea extraiga los pares clave-valor del almacén de App Configuration. Las descripciones de los parámetros están disponibles en la sección Parámetros siguiente y en la información sobre herramientas junto a cada parámetro.
    • Establezca el parámetro Suscripción de Azure en el nombre de la conexión de servicio creada en un paso anterior.
    • Establezca el punto de conexión de App Configuration en el punto de conexión del almacén de App Configuration.
    • Deje los valores predeterminados en los restantes parámetros. Screenshot shows the app configuration task parameters.
  4. Guarde y ponga en cola una compilación. El registro de compilación mostrará los errores que se produjeron durante la ejecución de la tarea.

Uso en versiones

En esta sección se explicará cómo usar la tarea Azure App Configuration en las canalizaciones de versión de Azure DevOps.

  1. Vaya a la página de canalización de versión; para ello, seleccione Canalizaciones>Versiones. Para obtener documentación sobre la canalización de versión, consulte Canalizaciones de versión.
  2. Elija una canalización de versión existente. Si no tiene una, seleccione Nueva canalización para crear una.
  3. Seleccione el botón Editar en la esquina superior derecha para editar la canalización de versión.
  4. En el menú desplegable Tareas, seleccione la Fase en la que quiere agregar la tarea. Puede encontrar más información sobre las fases aquí. Screenshot shows the selected stage in the Tasks dropdown.
  5. Haga clic en + junto al trabajo al que quiere agregar una nueva tarea. Screenshot shows the plus button next to the job.
  6. Busque la tarea Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  7. Configure los parámetros necesarios dentro de la tarea para extraer los pares clave-valor del almacén de App Configuration. Las descripciones de los parámetros están disponibles en la sección Parámetros siguiente y en la información sobre herramientas junto a cada parámetro.
    • Establezca el parámetro Suscripción de Azure en el nombre de la conexión de servicio creada en un paso anterior.
    • Establezca el punto de conexión de App Configuration en el punto de conexión del almacén de App Configuration.
    • Deje los valores predeterminados en los restantes parámetros.
  8. Guarde y ponga en cola una versión. El registro de versión mostrará los errores que se hayan encontrado durante la ejecución de la tarea.

Parámetros

La tarea Azure App Configuration usa los siguientes parámetros:

  • Suscripción de Azure: una lista desplegable que contiene las conexiones de servicio de Azure disponibles. Para actualizar la lista de conexiones de servicio de Azure disponibles, presione el botón Refresh Azure subscription (Actualizar suscripción a Azure) a la derecha del cuadro de texto.
  • App Configuration Endpoint: Una lista desplegable que carga los puntos de conexión de los almacenes de configuración disponibles en la suscripción seleccionada. Para actualizar la lista de puntos de conexión de los almacenes de configuración disponibles, presione el botón Actualizar App Configuration Endpoint a la derecha del cuadro de texto.
  • Modo de selección: especifica cómo se seleccionan los pares clave-valor leídos de un almacén de configuración. El modo de selección "Predeterminado" permite el uso de filtros de clave y etiqueta. El modo de selección "Instantánea" permite seleccionar pares clave-valor de una instantánea. El valor predeterminado es Default.
  • Key Filter (Filtro de clave): el filtro se puede utilizar para seleccionar los pares clave-valor que se solicitan desde Azure App Configuration. Un valor de * seleccionará todos los pares clave-valor. Para más información, consulte Consulta de claves y valores.
  • Etiqueta: especifica la etiqueta que se debe usar al seleccionar los pares clave-valor del almacén de App Configuration. Si no se proporciona ninguna etiqueta, se recuperarán los pares clave-valor que no tengan etiqueta. No se permiten los caracteres siguientes: , *.
  • Nombre de instantánea: especifica la instantánea de la que se deben recuperar los pares clave-valor en Azure App Configuration.
  • Trim Key Prefix (Recortar prefijo de clave): especifica uno o más prefijos que se deben recortar de las claves de App Configuration antes de establecerlos como variables. Se pueden separar varios prefijos mediante un carácter de nueva línea.
  • Suprimir advertencia para claves invalidadas: El valor predeterminado está desactivado. Especifica si se muestran advertencias cuando se invalidan las claves existentes. Habilite esta opción cuando se espera que los clave-valor descargados de App Configuration tengan claves superpuestas con lo que existe en las variables de canalización.

Uso de pares clave-valor en tareas posteriores

Los pares clave-valor que se recuperan de App Configuration se establecen como variables de canalización, que son accesibles como variables de entorno. La clave de la variable de entorno es la clave del par clave-valor que se recupera de App Configuration después de recortar el prefijo, si se especifica.

Por ejemplo, si una tarea posterior ejecuta un script de PowerShell, podría consumir un par clave-valor con la clave 'myBuildSetting' de esta forma:

echo "$env:myBuildSetting"

Y el valor se imprimirá en la consola.

Nota

Las referencias de Azure Key Vault en App Configuration se resolverán y se establecerán como variables secretas. En las canalizaciones de Azure, las variables secretas se enmascaran desde el registro. No se pasan a las tareas como variables de entorno y, en su lugar, se deben pasar como entradas.

Solución de problemas

Si se produce un error inesperado, los registros de depuración se pueden habilitar; para ello, establezca la variable de canalización system.debug en true.

Preguntas más frecuentes

¿Cómo puedo componer mi configuración a partir de varias claves y etiquetas?

Hay ocasiones en las que es posible que la configuración deba componerse a partir de varias etiquetas, por ejemplo, default y dev. Se pueden utilizar varias tareas de App Configuration en una canalización para implementar este escenario. Los pares clave-valor recuperados por una tarea en un paso posterior reemplazarán cualquier valor de los pasos anteriores. En el ejemplo mencionado anteriormente, se puede utilizar una tarea para seleccionar los pares clave-valor con la etiqueta default mientras que una segunda tarea puede seleccionar los pares clave-valor con la etiqueta dev. Las claves con la etiqueta dev invalidarán las mismas claves con la etiqueta default.