Ejercicio: Configuración del entorno de Azure DevOps
En esta sección, se asegurará de que la organización de Azure DevOps está configurada para completar el resto del módulo. También se crean los entornos de Azure App Service que se implementan más adelante.
Para lograr estos objetivos, usted:
- Agregue un usuario para asegurarse de que Azure DevOps puede conectarse a su suscripción de Azure.
- Configurar un proyecto de Azure DevOps para este módulo.
- En Azure Boards, mueva el elemento de trabajo de este módulo a la columna En curso.
- Asegurarse de que el proyecto esté configurado localmente para que pueda enviar los cambios a la canalización.
- Cree los entornos de Azure App Service mediante la CLI de Azure en Azure Cloud Shell.
- Cree variables de canalización que definan los nombres de los entornos de App Service.
- Cree una conexión de servicio que permita a Azure Pipelines acceder de forma segura a su suscripción de Azure.
Adición de un usuario a Azure DevOps
Para completar este módulo, necesita su propia suscripción de Azure. Puede empezar a trabajar con Azure de forma gratuita.
No necesita una suscripción de Azure para usar Azure DevOps, pero aquí usa Azure DevOps para implementar en los recursos de Azure que existen en la suscripción de Azure. Para simplificar el proceso, use la misma cuenta Microsoft para iniciar sesión en su suscripción de Azure y en su organización de Azure DevOps.
Si usa cuentas microsoft diferentes para iniciar sesión en Azure y Azure DevOps, agregue un usuario a su organización de DevOps en la cuenta microsoft que usa para iniciar sesión en Azure. Para obtener más información, consulte Agregar usuarios a su organización o proyecto. Al agregar el usuario, seleccione el nivel de acceso Básico .
A continuación, cierre sesión en Azure DevOps e inicie sesión. Use la cuenta Microsoft que usa para iniciar sesión en su suscripción de Azure.
Obtener el proyecto de Azure DevOps
Aquí, asegúrese de que la organización de Azure DevOps esté configurada para completar el resto de este módulo. Para ello, ejecute una plantilla que cree un proyecto en Azure DevOps.
Los módulos de esta ruta de aprendizaje forman una progresión. Siga el equipo web de Tailspin por su recorrido de DevOps. Con fines de aprendizaje, cada módulo tiene su propio proyecto de Azure DevOps.
Ejecución de la plantilla
Ejecute una plantilla que configura la organización de Azure DevOps.
Obtenga y ejecute el proyecto ADOGenerator en Visual Studio o el IDE que prefiera.
Cuando se le pida que escriba el número de plantilla de la lista de plantillas, escriba 30 para Crear una canalización de varias fases con Azure Pipelines y presione Entrar.
Elija el método de autenticación. Puede configurar y usar un token de acceso personal (PAT) o usar el inicio de sesión del dispositivo.
Nota:
Si configura un PAT, asegúrese de autorizar los ámbitos necesarios. En este módulo, puede usar el acceso completo, pero en una situación real, debe asegurarse de conceder solo los ámbitos necesarios.
Escriba el nombre de la organización de Azure DevOps y presione Entrar.
Si se le solicita, escriba el PAT de Azure DevOps y presione Entrar.
Escriba un nombre de proyecto como Space Game - web - Multistage y presione Entrar.
Una vez creado el proyecto, vaya a la organización de Azure DevOps en el explorador (en
https://dev.azure.com/<your-organization-name>/
) y seleccione el proyecto.
Bifurcar el repositorio
Si aún no lo ha hecho, cree una bifurcación del repositorio mslearn-tailspin-spacegame-web-deploy .
En GitHub, vaya al repositorio mslearn-tailspin-spacegame-web-deploy .
Seleccione Bifurcar en la parte superior derecha de la pantalla.
Elija su cuenta de GitHub como propietario y, a continuación, seleccione Crear un fork.
Importante
En este módulo, la página Limpieza del entorno de Azure DevOps contiene pasos de limpieza importantes. La limpieza ayuda a garantizar que no se queda sin minutos de compilación libres. Incluso si no completa este módulo, asegúrese de seguir los pasos de limpieza.
Establecimiento de la visibilidad del proyecto
La bifurcación del repositorio Space Game en GitHub inicialmente se establece en pública mientras que el proyecto creado por la plantilla de Azure DevOps se establece en privado. Cualquier persona puede acceder a un repositorio público en GitHub, mientras que a un repositorio privado solo puede acceder usted y personas con las que decida compartirlo. Del mismo modo, en Azure DevOps, los proyectos públicos proporcionan acceso de solo lectura a los usuarios no autenticados, mientras que los privados requieren que los usuarios tengan acceso y se autentiquen para acceder a los servicios.
En este momento, no es necesario modificar ninguna de estas configuraciones para los fines de este módulo. Sin embargo, para sus proyectos personales, debe determinar la visibilidad y el acceso que desea conceder a otros usuarios. Por ejemplo, si el proyecto es de código abierto, podría elegir que tanto el repositorio de GitHub como el proyecto de Azure DevOps fueran públicos. Si el proyecto es de su propiedad, normalmente tanto el repositorio de GitHub como el proyecto de Azure DevOps son privados.
Más adelante encontrará los siguientes recursos útiles para determinar qué opción es mejor para su proyecto:
- Uso de proyectos privados y públicos
- Cambio de la visibilidad del proyecto a público o privado
- Configurar la visibilidad de un repositorio
Cambio del elemento de trabajo al estado En curso
Aquí, asignas un elemento de trabajo a ti mismo en Azure Boards. También mueve el elemento de trabajo al estado En curso . En la práctica, usted y su equipo crearían elementos de trabajo al principio de cada sprint o iteración de trabajo.
Esta asignación de trabajo proporciona una lista de comprobación desde la que trabajar. Proporciona a otros miembros del equipo visibilidad sobre en lo que estás trabajando y cuánto trabajo queda. El elemento de trabajo también ayuda a aplicar límites de trabajo en curso (WIP) para que el equipo no tome demasiado trabajo a la vez.
Recuerde que el equipo ha identificado los problemas principales que se exponen a continuación en el sprint actual.
Nota:
En una organización de Azure DevOps, los elementos de trabajo se numeran secuencialmente. En el proyecto, es posible que el número de cada elemento de trabajo no coincida con lo que ve aquí.
Aquí movemos el primer elemento, Crear una canalización de varias fases, a la columna Hacer . A continuación, te asignas al elemento de trabajo. Crear una canalización de varias fases se relaciona con la definición de cada fase de implementación del sitio web de Space Game .
Para configurar el elemento de trabajo:
En Azure DevOps, vaya a Paneles. A continuación, en el menú, seleccione Paneles.
En la tarjeta Crear una canalización de varias fases , seleccione la flecha abajo. A continuación, asigne el elemento de trabajo a usted mismo.
Mueva el elemento de trabajo de la columna Tareas pendientes a la columna Hacer .
Al final de este módulo, moverá la tarjeta a la columna Listo después de completar la tarea.
Configura el proyecto de forma local
Primero, carga el proyecto Space Game en Visual Studio Code, configura Git, clona tu repositorio localmente y establece el remoto upstream para poder descargar el código inicial.
Nota:
Si ya tiene configurado localmente el proyecto mslearn-tailspin-spacegame-web-deploy, puede pasar a la siguiente sección.
Apertura del terminal integrado
Visual Studio Code incluye un terminal integrado. Aquí puede editar archivos y trabajar desde la línea de comandos.
Inicie Visual Studio Code.
En el menú View (Ver), seleccione Terminal.
En la lista desplegable, seleccione Git Bash. Si está familiarizado con otro shell de Unix que prefiere usar, seleccione ese shell en su lugar.
En la ventana del terminal, puede elegir cualquier shell que esté instalado en el sistema. Por ejemplo, puede elegir Git Bash o PowerShell u otro shell.
Aquí usará Git Bash, parte de Git para Windows, lo que facilita la ejecución de comandos de Git.
Nota:
En Windows, si no ve Git Bash como opción, asegúrese de que ha instalado Git y, después, reinicie Visual Studio Code.
Ejecute el
cd
comando para ir al directorio donde desea trabajar. Elija el directorio principal (~
) o otro directorio si lo desea.cd ~
Configuración de Git
Si no está familiarizado con Git y GitHub, ejecute primero algunos comandos para asociar su identidad a Git y autenticarse con GitHub. Para más información, consulte Configuración de Git.
Como mínimo, debe completar los pasos siguientes. Ejecute los comandos desde el terminal integrado.
- Establezca el nombre de usuario.
- Establezca la dirección de correo electrónico de confirmación.
- Almacene en caché la contraseña de GitHub.
Nota:
Si ya usa la autenticación en dos fases con GitHub, cree un token de acceso personal. Cuando se le solicite, use el token en lugar de la contraseña.
Trate el token de acceso igual que una contraseña. Guárdelo en un lugar seguro.
Configuración del proyecto en Visual Studio Code
En la ruta de aprendizaje Compilación de aplicaciones con Azure DevOps, bifurcó y clonó un repositorio de Git. El repositorio contiene el código fuente del sitio web de Space Game . La bifurcación se ha conectado a los proyectos de Azure DevOps para que la compilación se ejecute cuando inserte cambios en GitHub.
Importante
En esta ruta de aprendizaje, cambiamos a otro repositorio de Git, mslearn-tailspin-spacegame-web-deploy. Al ejecutar la plantilla para configurar el proyecto de Azure DevOps, el proceso ha bifurcado el repositorio de forma automática.
En esta parte, clonará la bifurcación localmente para poder modificar y compilar la configuración de la canalización.
Clonación de la bifurcación localmente
Ya tenemos una copia del proyecto web de Space Game en la cuenta de GitHub. Ahora vas a descargar (o clonar) una copia en tu equipo para poder trabajar con ella.
Un clon, igual que una bifurcación, es una copia de un repositorio. Al clonar un repositorio, puede realizar cambios, comprobar que funcionan según lo previsto y, a continuación, cargar esos cambios en GitHub. También puede sincronizar la copia local con los cambios realizados por otros usuarios autenticados en la copia de GitHub del repositorio.
Para clonar el proyecto web Space Game a tu ordenador:
Vaya a la bifurcación del proyecto web Space Game (mslearn-tailspin-spacegame-web-deploy) en GitHub.
Seleccione Código. Después, desde la pestaña HTTPS, seleccione el botón situado junto a la dirección URL que se muestra para copiarla en el Portapapeles.
En Visual Studio Code, vaya a la ventana del terminal.
En el terminal, vaya al directorio donde desea trabajar. Elija el directorio principal (
~
) o otro directorio si lo desea.cd ~
Ejecute el comando
git clone
. Reemplace la dirección URL que se muestra aquí por el contenido del Portapapeles:git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
Vaya al directorio
mslearn-tailspin-spacegame-web-deploy
. Este es el directorio raíz del repositorio.cd mslearn-tailspin-spacegame-web-deploy
Establecimiento del repositorio remoto ascendente
Un repositorio remoto es un repositorio de Git donde colaboran los miembros del equipo (como uno de GitHub). Aquí enumerará los repositorios remotos y agregará un repositorio remoto que apunta a la copia de Microsoft del repositorio para que pueda obtener el código de ejemplo más reciente.
Ejecute este comando
git remote
para listar los remotos:git remote -v
Verá que tiene acceso tanto de captura (descarga) como de inserción (carga) al repositorio:
origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
Origin (Origen) especifica cuál es su repositorio en GitHub. Cuando se bifurca código desde otro repositorio, el repositorio remoto original (desde el que se ha bifurcado) se suele denominar ascendente.
Ejecute este comando
git remote add
para crear un repositorio remoto denominado upstream que apunte al repositorio de Microsoft:git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
Vuelva a ejecutar
git remote
para ver los cambios:git remote -v
Comprobará que todavía tiene acceso de captura (descarga) e inserción (carga) en el repositorio. Ahora también tiene acceso de captura al repositorio de Microsoft:
origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch) origin https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push) upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
Apertura del proyecto en el Explorador de archivos
En Visual Studio Code, la ventana del terminal apunta al directorio raíz del proyecto web Space Game. Ahora abrirá el proyecto desde el Explorador de archivos para poder ver su estructura y trabajar con los archivos.
La forma más fácil de abrir el proyecto es reabrir Visual Studio Code en el directorio actual. Para hacerlo, ejecute el comando siguiente en el terminal integrado:
code -r .
Verá el árbol de directorios y archivos en el Explorador de archivos.
Vuelva a abrir el terminal integrado. El terminal le sitúa en la raíz del proyecto web.
Si se produce un error en el comando code
, debe agregar Visual Studio Code a la ruta de acceso del sistema. Para ello:
- En Visual Studio Code, presione F1 o seleccione Ver>Paleta de comandos para acceder a la paleta de comandos.
- En la paleta de comandos, escriba Shell Command: Instalar el comando "code" en PATH.
- Repita el procedimiento anterior para abrir el proyecto en el explorador de archivos.
Ya lo tiene todo preparado para trabajar con el código fuente de Space Game y la configuración de Azure Pipelines desde el entorno de desarrollo local.
Creación de entornos de Azure App Service
Aquí, creas los entornos que definen las fases de la canalización. Cree una instancia de App Service para cada fase: Desarrollo, Prueba y Ensayo.
En Creación de una canalización de versión con Azure Pipelines, accedió a App Service desde Azure Portal. Aunque el portal es una excelente manera de explorar lo que está disponible en Azure o para realizar tareas básicas, la incorporación de componentes como App Service puede ser tedioso.
En este módulo, usará la CLI de Azure para abrir tres instancias de App Service. Puede acceder a la CLI de Azure desde un terminal o a través de Visual Studio Code. Aquí puede acceder a la CLI de Azure desde Azure Cloud Shell. Esta experiencia de shell basada en explorador se hospeda en la nube. En Cloud Shell, la CLI de Azure está configurada para su uso con la suscripción de Azure.
Importante
Para completar los ejercicios de este módulo, necesita su propia suscripción de Azure.
Iniciar Cloud Shell a través del portal de Azure
Abra Azure Portal e inicie sesión.
En el menú, seleccione Cloud Shell. Cuando se le solicite, seleccione la experiencia de Bash .
Nota:
Cloud Shell requiere un recurso de almacenamiento de Azure para conservar los archivos que cree en Cloud Shell. Al abrir por primera vez Cloud Shell, se le pedirá que cree un grupo de recursos, una cuenta de almacenamiento y un recurso compartido de Azure Files. Esta configuración se usa automáticamente para todas las sesiones de Cloud Shell futuras.
Selección de una región de Azure
Una región es uno o varios centros de datos de Azure dentro de una ubicación geográfica. Este de EE. UU., Oeste de EE. UU. y Norte de Europa son ejemplos de regiones. A cada recurso de Azure, incluida una instancia de App Service, se le asigna una región.
Para que los comandos sean más fáciles de ejecutar, empiece seleccionando una región predeterminada. Después de especificar la región predeterminada, los comandos posteriores usan esa región a menos que especifique otra región.
En Cloud Shell, para enumerar las regiones disponibles en la suscripción de Azure, ejecute el siguiente
az account list-locations
comando.az account list-locations \ --query "[].{Name: name, DisplayName: displayName}" \ --output table
En la
Name
columna de la salida, seleccione una región cercana. Por ejemplo, elijaeastasia
owestus2
.Ejecute
az configure
para establecer la región predeterminada. Reemplace por<REGION>
el nombre de la región seleccionada.az configure --defaults location=<REGION>
En este ejemplo se establece
westus2
como la región predeterminada:az configure --defaults location=westus2
Creación de instancias de App Service
Aquí, creará las instancias de App Service para las tres fases que implemente en: Desarrollo, Prueba y Ensayo. Esta es una breve visión general del proceso que sigues:
Genere un número aleatorio que haga que el nombre de dominio de la aplicación web sea único.
Este paso es para fines de aprendizaje. En la práctica, elegiría un nombre de dominio que coincida con el nombre de la aplicación o el servicio.
Cree un grupo de recursos que contenga todas las instancias de App Service.
Para fines de aprendizaje, aquí se crea un grupo de recursos que contiene todas las instancias de App Service. En la práctica, puede crear un grupo de recursos independiente para cada instancia de App Service para que pueda controlar mejor el ciclo de vida de cada instancia.
Creación de un plan de App Service.
Un plan de App Service define los recursos de CPU, memoria y almacenamiento de la aplicación web. Aquí se usa el plan Básico B1. Este plan está pensado para aplicaciones que tienen requisitos de tráfico bajos. Los planes Estándar y Premium son para cargas de trabajo de producción. Estos planes se ejecutan en instancias de máquina virtual dedicadas.
Para cada uno de los entornos de desarrollo, pruebas y ensayo , cree una instancia de App Service.
Obtenga el nombre de host de cada entorno.
Compruebe que cada entorno se está ejecutando y que la página principal sea accesible.
Nota:
Con fines de aprendizaje, use la configuración de red predeterminada aquí. Esta configuración hace que el sitio sea accesible desde Internet. En la práctica, podría configurar una red virtual de Azure que coloque el sitio web en una red que no sea enrutable a Internet y que solo usted y su equipo puedan acceder. Más adelante, podría volver a configurar la red para que el sitio web esté disponible para los usuarios.
Para crear las instancias de App Service, siga estos pasos:
Desde Cloud Shell, genere un número aleatorio que haga que el nombre de dominio de la aplicación web sea único.
webappsuffix=$RANDOM
Para crear un grupo de recursos denominado tailspin-space-game-rg, ejecute el siguiente
az group create
comando.az group create --name tailspin-space-game-rg
Para crear el plan de servicio de aplicaciones denominado tailspin-space-game-asp, ejecute el siguiente
az appservice plan create
comando.az appservice plan create \ --name tailspin-space-game-asp \ --resource-group tailspin-space-game-rg \ --sku B1 \ --is-linux
El argumento
--sku
especifica el plan B1. Este plan se ejecuta en el nivel Básico. El argumento--is-linux
especifica usar trabajadores de Linux.Importante
Si la SKU B1 no está disponible en la suscripción de Azure, seleccione otro plan, como S1 (Estándar).
Para crear las tres instancias de App Service, una para cada entorno (desarrollo, prueba y ensayo), ejecute los siguientes
az webapp create
comandos.az webapp create \ --name tailspin-space-game-web-dev-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNETCORE|8.0" az webapp create \ --name tailspin-space-game-web-test-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNETCORE|8.0" az webapp create \ --name tailspin-space-game-web-staging-$webappsuffix \ --resource-group tailspin-space-game-rg \ --plan tailspin-space-game-asp \ --runtime "DOTNETCORE|8.0"
Para fines de aprendizaje, aplique el mismo plan de App Service, B1 Basic, a cada instancia de App Service aquí. En la práctica, asignaría un plan que coincida con la carga de trabajo esperada.
Por ejemplo, para los entornos que se asignan a las fases de desarrollo y pruebas, B1 Basic puede ser una opción adecuada porque solo quieres que tu equipo acceda a los entornos.
En el entorno Staging, seleccionas un plan que coincida con el entorno de producción. Es probable que ese plan proporcione mayores recursos de CPU, memoria y almacenamiento. En el plan, puede ejecutar pruebas de rendimiento, como pruebas de carga, en un entorno similar al entorno de producción. Puede ejecutar las pruebas sin afectar al tráfico en vivo a su sitio.
Para enumerar el nombre de host y el estado de cada instancia de App Service, ejecute el siguiente
az webapp list
comando.az webapp list \ --resource-group tailspin-space-game-rg \ --query "[].{hostName: defaultHostName, state: state}" \ --output table
Anote el nombre de host de cada servicio en ejecución. Necesitará estos nombres de host más adelante cuando compruebe su trabajo. Este es un ejemplo:
HostName State ------------------------------------------------------- ------- tailspin-space-game-web-dev-21017.azurewebsites.net Running tailspin-space-game-web-test-21017.azurewebsites.net Running tailspin-space-game-web-staging-21017.azurewebsites.net Running
Como paso opcional, vaya a uno o varios de los nombres de host. Compruebe que se están ejecutando y que aparece la página principal predeterminada.
Esto es lo que usted ve:
Importante
La página Limpiar el entorno de Azure DevOps de este módulo contiene pasos de limpieza importantes. La limpieza ayuda a garantizar que no se le cobra por los recursos de Azure después de completar este módulo. No olvide realizar los pasos de limpieza, aunque no haya completado este módulo.
Creación de variables de canalización en Azure Pipelines
En Crear una canalización de lanzamiento con Azure Pipelines, agregó una variable a la canalización que almacena el nombre de la aplicación web en App Service. Aquí haces lo mismo. Pero esta vez agregará una variable para cada instancia de App Service que se corresponda con una fase de desarrollo, pruebas o ensayo de la canalización.
Puede codificar de forma rígida estos nombres en la configuración de la canalización, pero si los define como variables, la configuración es más reutilizable. Además, si cambian los nombres de las instancias de App Service, puede actualizar las variables y desencadenar la canalización sin modificar la configuración.
Para agregar las variables:
En Azure DevOps, vaya al proyecto Space Game - web - Multistage .
En Canalizaciones, seleccione Biblioteca.
Seleccione + Grupo de variables.
En Propiedades, escriba Release para el nombre del grupo de variables.
En Variables, seleccione + Agregar.
Para el nombre de la variable, escriba WebAppNameDev. Como valor, escriba el nombre de la instancia de App Service que corresponda al entorno de desarrollo, como tailspin-space-game-web-dev-1234.
Repita los dos pasos anteriores dos veces más para crear variables para los entornos de prueba y ensayo . Estos son unos ejemplos:
Nombre de la variable Ejemplo de valor WebAppNameTest tailspin-space-game-web-test-1234 WebAppNameStaging tailspin-space-game-web-staging-1234 Asegúrese de reemplazar cada valor de ejemplo por la instancia de App Service que corresponda a su entorno.
Importante
Establezca el nombre de la instancia de App Service, no su nombre de host. En este ejemplo, escribiría tailspin-space-game-web-dev-1234 y no tailspin-space-game-web-dev-1234.azurewebsites.net.
Cerca de la parte superior de la página, seleccione Guardar para guardar la variable en la canalización.
El grupo de variables es similar al siguiente:
Creación de entornos de desarrollo y pruebas
En Creación de una canalización de versión con Azure Pipelines, ha creado un entorno para el entorno de desarrollo. En este caso, repetirá el proceso para los entornos de desarrollo y prueba. Más adelante, configurará el entorno de ensayo, que incluye criterios adicionales.
Para crear los entornos de desarrollo y pruebas :
En Azure Pipelines, seleccione Entornos.
Para crear el entorno de desarrollo :
- Selecciona Crear entorno.
- En Nombre, escriba dev.
- Deje los campos restantes en sus valores predeterminados.
- Seleccione Crear.
Para crear el entorno de prueba :
- Vuelva a la página Entornos .
- Seleccione Nuevo entorno.
- En Nombre, escriba test.
- Seleccione Crear.
Creación de una conexión de servicio
En este caso, creará una conexión de servicio que permite a Azure Pipelines acceder a la suscripción de Azure. Azure Pipelines usa esta conexión de servicio para implementar el sitio web en App Service. Ha creado una conexión de servicio similar en el módulo anterior.
Importante
Asegúrese de que ha iniciado sesión en Azure Portal y Azure DevOps en la misma cuenta de Microsoft.
En Azure DevOps, vaya al proyecto Space Game - web - Multistage .
En la esquina inferior izquierda de la página, seleccione Configuración del proyecto.
En Canalizaciones, seleccione Conexiones de servicio.
Seleccione Crear conexión de servicio y, a continuación, Seleccione Azure Resource Manager y, a continuación, seleccione Siguiente.
Al principio de la página, seleccione Registro de aplicaciones (automático). A continuación, seleccione Siguiente.
Rellene estos campos:
Campo Importancia Nivel de ámbito Suscripción Suscripción Su suscripción de Azure Grupo de recursos tailspin-space-game-rg Nombre de conexión de servicio Resource Manager- Tailspin - Space Game Durante el proceso, es posible que se le pida que inicie sesión en su cuenta Microsoft.
Asegúrese de seleccionar Conceder permiso de acceso a todas las canalizaciones.
Seleccione Guardar.
Para comprobar que puede conectarse a la suscripción de Azure, Azure DevOps realiza una conexión de prueba. Si Azure DevOps no se puede conectar, tiene la oportunidad de iniciar sesión una segunda vez.