Importación de configuraciones a App Configuration con Azure Pipelines
La tarea de importación de Azure App Configuration importa pares clave-valor de un archivo de configuración en el almacén de App Configuration. Esta tarea habilita la funcionalidad completa dentro de la canalización, ya que ahora es posible exportar la configuración del almacén de App Configuration e importar la configuración al mismo destino.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Tienda de App Configuration - crea uno gratis
- Proyecto de Azure DevOps: cree uno gratis.
- Agente de Azure Pipelines versión 2.144.0 o posterior y Node, versión 16 o posterior para ejecutar la tarea en agentes autohospedados.
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.
En Azure DevOps, vaya al proyecto que contiene la canalización de destino. En la esquina inferior izquierda, seleccione Configuración del proyecto.
En Canalizaciones, seleccione Conexiones de servicio. En la esquina superior derecha, seleccione Nueva conexión de servicio.
En Nueva conexión de servicio, seleccione Azure Resource Manager.
En el cuadro de diálogo Método de autenticación, seleccione Federación de identidades de carga de trabajo (automática) para crear una nueva federación de identidades de carga de trabajo o seleccione Federación de identidades de carga de trabajo (manual) para usar una federación de identidad de carga de trabajo existente.
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.
Vaya a Configuración del proyecto>Conexiones de servicio.
Seleccione la nueva conexión de servicio.
Seleccione Administrar entidad de servicio.
Anote el valor de Nombre para mostrar.
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.
Vaya al almacén de App Configuration de destino.
En el menú izquierdo, seleccione Control de acceso (IAM) .
En el panel derecho, seleccione Agregar asignaciones de roles.
En Rol, seleccione Propietario de los datos de App Configuration. Este rol permite que la tarea lea y escriba en el almacén de App Configuration.
Seleccione la entidad de servicio asociada con la conexión de servicio que creó en la sección anterior.
Seleccione Revisar y asignar.
Uso en compilaciones
En esta sección se explica cómo usar la tarea de importación de Azure App Configuration en una canalización de compilación de Azure DevOps.
- Vaya a la página de canalización de compilación al hacer clic en Canalizaciones>Canalizaciones. Para obtener más información sobre las canalizaciones de compilación, vaya a Creación de la 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.
- Si usa una canalización de compilación existente, haga clic en el botón Editar en la parte superior derecha.
- 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.
- Busque la tarea Importación de Azure App Configuration.
- Configure los parámetros necesarios para que la tarea importe los pares clave-valor del archivo de configuración al almacén de App Configuration. Las explicaciones de los parámetros están disponibles en la sección Parámetros y en la información sobre herramientas que hay junto a cada parámetro.
- Guarde y ponga en cola una compilación. El registro de compilación muestra 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 de importación de Azure App Configuration en la canalización de versión de Azure DevOps.
- Vaya a la página de canalización de versión; para ello, seleccione Canalizaciones>Versiones. Para obtener más información sobre las canalizaciones de versión, vaya a Creación de la primera canalización de versión.
- Elija una canalización de versión existente. Si no tiene una, seleccione + Nueva para crear una nueva.
- Seleccione el botón Editar en la esquina superior derecha para editar la canalización de versión.
- En el menú desplegable Tareas, seleccione la Fase en la que quiere agregar la tarea. Puede encontrar más información sobre las fases en Agregar fases, dependencias y condiciones.
- Haga clic en + junto al trabajo al que quiere agregar una nueva tarea.
- En el cuadro de diálogo Agregar tareas, escriba Importación de Azure App Configuration en el cuadro de búsqueda y selecciónela.
- Configure los parámetros necesarios dentro de la tarea para importar los pares clave-valor del archivo de configuración al almacén de App Configuration. Las explicaciones de los parámetros están disponibles en la sección Parámetros y en la información sobre herramientas que hay junto a cada parámetro.
- Guarde y ponga en cola una versión. El registro de versión muestra los errores que se hayan encontrado durante la ejecución de la tarea.
Parámetros
La tarea de importación de 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 el punto de conexión de almacenes de configuración disponible en la suscripción seleccionada. Para actualizar la lista de puntos de conexión de almacenes de configuración disponibles, presione el botón Refresh App Configuration Endpoint (Actualizar punto de conexión de App Configuration) a la derecha del cuadro de texto.
- Ruta del archivo de configuración: la ruta de acceso a su archivo de configuración. El parámetro Ruta de archivo de configuración comienza en la raíz del repositorio de archivos. Puede examinar el artefacto de compilación para seleccionar un archivo de configuración. (Botón
...
a la derecha del cuadro de texto). Los formatos de archivo admitidos dependen del perfil de contenido del archivo. Para el perfil predeterminado, los formatos de archivo admitidos son yaml, json y propiedades. Para el perfil de KvSet, el formato de archivo admitido es json. - File Content Profile: perfil de contenido del archivo de configuración. El valor predeterminado es Default.
- Default: hace referencia a los formatos de archivo de configuración convencionales que las aplicaciones pueden consumir directamente.
- KvSet: hace referencia a un esquema de archivo que contiene todas las propiedades de un par clave-valor de App Configuration, incluidos la clave, el valor, la etiqueta, el tipo de contenido y las etiquetas. Los parámetros de tarea "Separador", "Etiqueta", "Tipo de contenido", "Prefijo", "Etiquetas" y "Profundidad" no son aplicables cuando se usa el perfil Kvset.
- Import Mode: el valor predeterminado es All. Determina el comportamiento al importar pares clave-valor.
- All: importa todos los pares clave-valor en el archivo de configuración a App Configuration.
- Ignore-Match: importa solo la configuración que no tiene ningún par clave-valor que coincida en App Configuration. Los valores clave coincidentes se consideran pares clave-valor con la misma clave, etiqueta, valor, tipo de contenido y etiquetas.
- Dry Run: el valor predeterminado es Unchecked.
- Activado: no se realizarán actualizaciones en App Configuration. En su lugar, las actualizaciones que se hubieran realizado en una ejecución normal se imprimirán en la consola para su revisión.
- Desactivado: se realizan las actualizaciones de App Configuration y no se imprime en la consola.
- Separador: el separador que se usa para aplanar los archivos .yml y .json.
- Profundidad: la profundidad con la que se aplanan los archivos .yml y .json.
- Prefijo: una cadena anexada al principio de cada clave importada al almacén de App Configuration.
- Etiqueta: una cadena agregada a cada par clave-valor como etiqueta en el almacén de App Configuration.
- Tipo de contenido: una cadena agregada a cada par clave-valor como tipo de contenido en el almacén de App Configuration.
- Etiquetas: un objeto JSON en el formato de
{"tag1":"val1", "tag2":"val2"}
, que define las etiquetas que se agregaron a cada par clave-valor importado al almacén de App Configuration. - Delete key-values that are not included in the configuration file: el valor predeterminado es Unchecked. El comportamiento de esta opción depende del perfil de contenido del archivo de configuración.
- Activado:
- Perfil de contenido predeterminado: quita todos los pares clave-valor del almacén de App Configuration que coincidan con el prefijo y la etiqueta especificados antes de importar nuevos pares clave-valor del archivo de configuración.
- Perfil de contenido Kvset: quita todos los pares clave-valor del almacén de App Configuration que no estén incluidos en el archivo de configuración antes de importar nuevos pares clave-valor del archivo de configuración.
- Desactivado: importa todos los pares clave-valor del archivo de configuración al almacén de App Configuration y deja intacto el resto del contenido del almacén.
- Activado:
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 cargar varios archivos de configuración?
Para importar varios archivos de configuración al almacén de App Configuration, cree varias instancias de la tarea de importación de Azure App Configuration dentro de la misma canalización.
¿Cómo se pueden crear referencias o marcas de característica de Key Vault mediante esta tarea?
En función del perfil de contenido de archivo que haya seleccionado, consulte ejemplos sobre la Compatibilidad de Azure App Configuration con el archivo de configuración.
¿Por qué recibo un error 409 al intentar importar pares clave-valor al almacén de configuración?
Se produce un mensaje de error de conflicto 409 en caso de que la tarea intente quitar o sobrescribir un par clave-valor que esté bloqueado en el almacén de App Configuration.
Paso siguiente
Para obtener una referencia completa de los parámetros o para usar esta tarea de canalización en canalizaciones YAML, consulte el siguiente documento.
Para obtener información sobre cómo exportar los valores de clave desde el almacén de App Configuration y establecerlos como variables de canalización de Azure, continúe con el siguiente documento.
Para obtener información sobre cómo crear instantáneas en un almacén de App Configuration, continúe con el siguiente documento.