Adición y configuración de un catálogo desde GitHub o Azure Repos
En este artículo se explica cómo agregar y configurar un catálogo para el centro de desarrollo o el proyecto de entornos de implementación de Azure.
Los catálogos le ayudan a proporcionar un conjunto de plantillas de infraestructura como código (IaC) seleccionadas, conocidas como definiciones de entorno para que los equipos de desarrollo creen entornos. Puede adjuntar su propio repositorio de control de código fuente desde GitHub o Azure DevOps como catálogo y especificar la carpeta con las definiciones de entorno. Los entornos de implementación examinan la carpeta de definiciones de entorno y los pone a disposición de los equipos de desarrollo para crear entornos.
Para proteger mejor sus plantillas, el catálogo está cifrado; Azure Deployment Environments admite el cifrado en reposo con claves de cifrado administradas por la plataforma, que administra Microsoft para servicios de Azure.
- Para obtener información sobre cómo hospedar un repositorio en GitHub, consulte Introducción a GitHub.
- Para obtener información sobre cómo hospedar un repositorio de Git en un proyecto de Azure Repos, consulte Azure Repos.
Microsoft ofrece un catálogo de inicio rápido que puede añadir al centro de desarrollo o al proyecto, y un catálogo de muestra que puede utilizar como repositorio. También puede usar un repositorio propio privado, o puede bifurcar y personalizar las definiciones del entorno en el catálogo de ejemplo.
En este artículo aprenderá a:
- Configurar catálogos de nivel de proyecto
- Configuración de una identidad administrada
- Agregar un catálogo desde Azure Repos o GitHub
- Actualizar un catálogo
- Eliminación de un catálogo
- Solución de errores de sincronización de catálogos
Configuración de catálogos de nivel de proyecto
La asociación de catálogos en el nivel de proyecto permite a los ingenieros de plataforma proporcionar definiciones de entorno seleccionadas específicas de los equipos de desarrollo. Además, permite a los clientes potenciales del equipo de desarrollo asignados como administradores de proyectos administrar las definiciones de entorno disponibles para sus equipos.
Los ingenieros de plataforma tienen control total sobre el uso de catálogos en el nivel de proyecto. El uso de catálogos de nivel de proyecto debe estar habilitado en el nivel del centro de desarrollo para poder agregar un catálogo a un proyecto. Los ingenieros de plataforma también pueden configurar qué tipos de elementos de catálogo, como las definiciones de entorno, se pueden consumir en el nivel de proyecto.
De forma predeterminada, el uso de catálogos en el nivel de proyecto está deshabilitado y ninguno de los tipos de elementos de catálogo está habilitado. Las definiciones de entorno de un catálogo de nivel de proyecto se sincronizan y se pueden usar en dos condiciones. En primer lugar, debe habilitar catálogos basados en proyectos en el nivel del centro de desarrollo correspondiente. En segundo lugar, debe habilitar el uso de definiciones de entorno para el proyecto.
Agregar un catálogo a un proyecto
Debe habilitar catálogos de nivel de proyecto en el nivel del centro de desarrollo para poder agregar un catálogo a un proyecto. También debe habilitar el uso de definiciones de entorno en el nivel de proyecto.
Para habilitar el uso de catálogos de nivel de proyecto en el nivel del centro de desarrollo:
En Azure Portal, vaya al centro de desarrollo.
En la sección Configuración del menú de la izquierda, seleccione Configuración.
En el panel Catálogos de nivel de proyecto, seleccione Habilitar catálogos por proyecto y, a continuación, Aplicar.
Para habilitar el uso de definiciones de entorno en el proyecto:
En Azure Portal, vaya al proyecto.
En el menú izquierdo, en Configuración, seleccione Catálogos.
En la página Catálogos, seleccione Permisos de elementos de catálogo.
En el panel Configuración de elementos de catálogo, seleccione Definiciones de entorno de implementación de Azure para habilitar el uso de definiciones de entorno en el nivel de proyecto.
Ahora, puede agregar un catálogo al proyecto.
En el caso de los catálogos que usan una identidad administrada o un token de acceso personal (PAT) para la autenticación, debe asignar una identidad administrada para el proyecto. Para los catálogos que usan un PAT, debe almacenar el PAT en un almacén de claves y conceder a la identidad administrada acceso al secreto del almacén de claves.
Configuración de una identidad administrada
Para poder adjuntar un catálogo a un centro o proyecto de desarrollo, debe configurar una identidad administrada, también denominada Managed Service Identity (MSI). Puede adjuntar una identidad administrada asignada por el sistema (MSI asignada por el sistema) o una identidad administrada asignada por el usuario (MSI asignada por el usuario). A continuación, asigne roles a la identidad administrada para permitir que el centro de desarrollo o el proyecto creen tipos de entorno en la suscripción y lean el proyecto de Azure Repos que contiene el repositorio de catálogos.
Si el centro de desarrollo o el proyecto no tiene un MSI asociado, siga los pasos descritos en Configuración de una identidad administrada crear una y asignar roles para la identidad administrada.
Para más información sobre las identidades administradas, consulte ¿Qué son las identidades administradas para los recursos de Azure?
Adición de un catálogo
Los catálogos se pueden agregar desde un repositorio de Azure Repos o un repositorio de GitHub. Puede optar por autenticarse mediante la asignación de permisos a un MSI o mediante un PAT, que se almacena en un almacén de claves.
Seleccione la pestaña del tipo de repositorio y la autenticación que desea usar.
- Repositorio de Azure Repos con MSI
- Repositorio de Azure Repos con PAT
- Aplicación del Centro de desarrollo del repositorio de GitHub
- Repositorio de GitHub con PAT
Para agregar un catálogo, realice las tareas que se indican a continuación:
- Asigne permisos en Azure Repos para la identidad administrada.
- Agregue el repositorio como catálogo.
Asigne permisos en Azure Repos para la identidad administrada
Debe conceder permisos de identidad administrada al repositorio en Azure Repos.
Inicie sesión en su organización de Azure DevOps.
Nota:
La organización de Azure DevOps debe estar en el mismo directorio que la suscripción de Azure que contiene el centro de desarrollo o el proyecto.
Seleccione Configuración de la organización.
En la página Información general, seleccione Usuarios.
En la página Usuarios, seleccione Agregar usuarios.
Complete Agregar nuevos usuarios escribiendo o seleccionando la siguiente información y, a continuación, seleccione Agregar:
NOMBRE Valor Usuarios o entidades de servicio Escriba el nombre del centro de desarrollo o el proyecto.
Cuando se usa una MSI asignada por el sistema, especifique el nombre del centro de desarrollo o el proyecto, no el identificador de objeto de la cuenta administrada. Cuando use una MSI asignada por el usuario, use el nombre de la cuenta administrada.Nivel de acceso Seleccione Básica. Agregar a proyectos Seleccione el proyecto que contenga el repositorio. Grupos de Azure DevOps Seleccione Lectores del proyecto. Enviar invitaciones por correo electrónico (solo a usuarios) Desactive la casilla.
Adición del repositorio como catálogo
Azure Deployment Environments admite la asociación de repositorios de Azure Repos y de GitHub. Puede almacenar un conjunto de plantillas de IaC seleccionadas en un repositorio. La asociación del repositorio a un centro de desarrollo o proyecto como catálogo proporciona a los equipos de desarrollo acceso a las plantillas y les permite crear rápidamente entornos coherentes.
Los siguientes pasos le permiten adjuntar un repositorio de Azure Repos.
En el Azure Portal, vaya al centro de desarrollo o al proyecto.
En el menú de la izquierda, en Configuración del entorno, seleccione Catálogos y, luego, elija Agregar.
En Agregar catálogo, escriba la siguiente información y seleccione Agregar:
Campo Valor Nombre Escriba un nombre para el catálogo. Ubicación del catálogo Seleccione Azure DevOps. Tipo de autenticación Seleccione Identidad administrada. Organización Seleccione la organización de Azure DevOps. Proyecto De la lista de proyectos, seleccione el proyecto que almacena el repositorio. Repo De la lista de repositorios, seleccione el repositorio que desee agregar. Rama Seleccione la rama. Folder path (Ruta de acceso a la carpeta) Dev Box recupera una lista de carpetas de la rama. Seleccione la carpeta que almacena las plantillas de IaC. En catálogos para el centro de desarrollo o el proyecto, compruebe que aparece el catálogo. Si la conexión se realiza correctamente, el estado se muestra como Sincronización correcta. La conexión a un catálogo podría tardar unos minutos la primera vez.
Ver elementos de catálogo sincronizados
Independientemente del tipo de repositorio que use, puede ver los elementos de catálogo que se sincronizan desde el catálogo.
En el menú izquierdo del centro de desarrollo o proyecto, en Configuración del entorno, seleccione Catálogos.
En el panel Catálogos, seleccione el nombre del catálogo.
Verá una lista de elementos de catálogo sincronizados correctamente.
Actualización de un catálogo
Si actualiza la definición o el contenido de la plantilla en el repositorio adjunto, puede proporcionar el conjunto más reciente de definiciones de entorno a los equipos de desarrollo mediante la sincronización del catálogo. Puede sincronizar un catálogo de forma manual o automática.
Sincronizar manualmente un catálogo
Al sincronizar manualmente un catálogo, los entornos de implementación examinan el repositorio y hace que la lista más reciente de definiciones de entorno esté disponible para todos los proyectos asociados en el centro de desarrollo.
En el menú izquierdo del centro de desarrollo, en Configuración del entorno, seleccione Catálogos.
Seleccione el catálogo específico y, a continuación, en la barra de comandos, seleccione Sincronizar.
Sincronizar automáticamente un catálogo
Al configurar un catálogo para que se sincronice automáticamente, los entornos de implementación examinan el repositorio cada 30 minutos y hace que la lista más reciente de definiciones de entorno esté disponible para todos los proyectos asociados en el centro de desarrollo.
En el menú izquierdo del centro de desarrollo o proyecto, en Configuración del entorno, seleccione Catálogos.
Seleccione el catálogo específico y, a continuación, seleccione Editar.
En el panel Editar catálogo, seleccione Sincronizar automáticamente este catálogo y, a continuación, seleccione Guardar.
Eliminación de un catálogo
Puede eliminar un catálogo para quitarlo del centro de desarrollo o del proyecto de entornos de implementación de Azure. Las plantillas de un catálogo eliminado no están disponibles para los equipos de desarrollo cuando implementen nuevos entornos. Actualice la referencia de la definición de entorno en los entornos existentes creados mediante las definiciones de entorno del catálogo eliminado. Si la referencia no se actualiza y se vuelve a implementar el entorno, se produce un error en la implementación.
Para eliminar un catálogo:
En el menú izquierdo del centro de desarrollo o proyecto, en Configuración del entorno, seleccione Catálogos.
Seleccione el catálogo específico y seleccione Eliminar.
En el cuadro de diálogo Eliminar catálogo, seleccione Continuar para eliminar el catálogo.
Solución de errores de sincronización de catálogos
Al agregar o sincronizar un catálogo, es posible que encuentre un error de sincronización o una advertencia. Un error de sincronización indica que un catálogo no se pudo sincronizar correctamente, una advertencia de sincronización indica que algunos o todos los elementos del catálogo tienen errores. Puede ver el estado y los errores de sincronización en Azure Portal, o bien usar la CLI de Azure y la API de REST para solucionar y resolver los errores.
Visualización del estado de sincronización del catálogo
En Azure Portal, puede obtener más información sobre el estado de sincronización del catálogo y las advertencias o errores seleccionando el vínculo de estado. El vínculo de estado abre un panel que muestra el estado de sincronización, el número de definiciones de entorno que se agregaron y el número de definiciones de entorno que se ignoraron o no.
Visualización de errores de sincronización del catálogo
En el menú izquierdo del centro de desarrollo o proyecto, en Configuración del entorno, seleccione Catálogos.
En la columna Estado, seleccione el vínculo de estado del catálogo que no se pudo sincronizar.
Verá un panel de detalles que muestra los cambios en la última sincronización, el número de errores de sincronización y el tipo de errores.
Visualización de advertencias de sincronización de catálogos
En el menú izquierdo del centro de desarrollo o proyecto, en Configuración del entorno, seleccione Catálogos.
En la columna Estado, seleccione el vínculo de estado del catálogo que se sincronice, pero notifique una advertencia.
Verá un panel de detalles que muestra los cambios en la última sincronización, el número de errores de elemento y el tipo y el origen de cada error.
Puede ver los elementos que se han sincronizado correctamente desde un catálogo que también notifica errores de sincronización. En el panel Catálogos, seleccione el nombre del catálogo.
Verá una lista de elementos de catálogo sincronizados correctamente.
Solución de errores de sincronización de catálogos mediante la CLI de Azure
Use la CLI de Azure o la API REST para obtener el catálogo. La respuesta de GET muestra el tipo de error:
- Las definiciones duplicadas se omiten.
- Definiciones de entorno no válidas que no se pudieron realizar debido a errores de esquema, referencia o validación.
Resolución de errores de definición de entorno omitidos
Si se agregan dos o más definiciones de entorno que tienen el mismo nombre, se produce un error de definición de entorno omitida. Para resolver este problema, cambie el nombre de las definiciones de entorno para que cada una de ellas tenga un nombre único en el catálogo.
Resolución de errores de definición de entorno no válida
Los errores de definición de entorno no válida puede producirse por varios motivos:
Errores de esquema de manifiesto. Asegúrese de que el archivo de entorno de la definición del entorno tenga el esquema necesario.
Errores de validación. Compruebe los siguientes elementos para resolver los errores de validación:
- Asegúrese de que el tipo de motor del archivo de entorno esté configurado correctamente.
- Asegúrese de que el nombre de la definición de entorno tenga entre 3 y 63 caracteres.
- Asegúrese de que el nombre de la definición del entorno solo incluye caracteres válidos para una dirección URL, es decir, caracteres alfanuméricos y estos símbolos:
~
!
,
.
'
;
:
=
-
_
+
(
)
*
&
$
@
Errores de referencia. Asegúrese de que la ruta de acceso de la plantilla a la que hace referencia el archivo de entorno es una ruta relativa válida a un archivo en el repositorio.