Tutorial: Implementar una aplicación con CI/CD en un clúster de Service Fabric
Este tutorial es la cuarta parte de una serie y describe cómo configurar la integración y la implementación continuas de una aplicación de Azure Service Fabric mediante Azure Pipelines. Se necesita una aplicación existente de Service Fabric; se usa como ejemplo la aplicación creada en Compilación de una aplicación .NET.
En la tercera parte de la serie, se aprende a:
- Agregar un control de código fuente al proyecto
- Crear una canalización de compilación en Azure Pipelines
- Crear una canalización de versión en Azure Pipelines
- Implementar y actualizar una aplicación automáticamente
En estos tutoriales aprenderá a:
Requisitos previos
Antes de empezar este tutorial:
- Si no tiene ninguna suscripción a Azure, cree una cuenta gratuita
- Instale Visual Studio 2019 y las cargas de trabajo de desarrollo de Azure y de desarrollo web y de ASP.NET.
- Instale el SDK de Service Fabric
- Cree un clúster de Windows Service Fabric en Azure (por ejemplo, siguiendo este tutorial)
- Cree una organización de Azure DevOps. Una organización le permite crear un proyecto en Azure DevOps y usar Azure Pipelines.
Descarga de la aplicación de ejemplo de votación
Si no compiló la aplicación de ejemplo de votación en la primera parte de esta serie, puede descargarla. En una ventana Comandos, ejecute el comando siguiente para clonar el repositorio de la aplicación de ejemplo en la máquina local.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Preparar un perfil de publicación
Ahora que ha creado una aplicación y ha implementado la aplicación en Azure, ya puede configurar la integración continua. En primer lugar, prepare un perfil de publicación en la aplicación que se use durante el proceso de implementación que se ejecuta en Azure Pipelines. El perfil de publicación debe configurarse para que tenga como destino el clúster que ha creado antes. Inicie Visual Studio y abra un proyecto de aplicación existente de Service Fabric. En el Explorador de soluciones, haga clic con el botón derecho en la aplicación y seleccione Publicar... .
Elija un perfil de destino en el proyecto de la aplicación que vaya a usar para el flujo de trabajo de integración continua (por ejemplo, Cloud). Especifique el punto de conexión de la conexión del clúster. Marque la casilla Actualizar la aplicación para que la esta se actualice para cada implementación de Azure DevOps. Seleccione el hipervínculo Guardar para guardar la configuración en el perfil de publicación y, luego, elija Cancelar para cerrar el cuadro de diálogo.
Solución de Visual Studio compartida en un nuevo repositorio Git de Azure DevOps
Comparta sus archivos de origen de la aplicación en un proyecto de Azure DevOps para generar compilaciones.
Cree un repositorio de GitHub y un repositorio de Azure DevOps desde el IDE de Visual Studio 2022; para ello, seleccione Git-> Crear repositorio de Git en el menú Git
Seleccione su cuenta en la lista desplegable y escriba el nombre del repositorio y seleccione el botón Crear e insertar.
Al publicar el repositorio se crea un nuevo proyecto en la cuenta de Azure DevOps Services con el mismo nombre que el repositorio local.
Para ver el repositorio recién creado, vaya a https://dev.azure.com/\<organizationname>, mantenga el mouse sobre el nombre del proyecto y seleccione el icono Repositorios.
Configuración de la entrega continua con Azure Pipelines
Una canalización de compilación de Azure Pipelines describe un flujo de trabajo compuesto por una serie de pasos de compilación que se ejecutan de manera secuencial. Cree una canalización de compilación que genere un paquete de aplicación de Service Fabric y otros artefactos para implementarlos en un clúster de Service Fabric. Más información sobre las canalizaciones de compilación de Azure Pipelines.
Una canalización de versión de Azure Pipelines describe un flujo de trabajo que implementa un paquete de aplicación en un clúster. Cuando se usan juntas, la canalización de compilación y la de versión ejecutan el flujo de trabajo completo empezando por los archivos de origen y terminando por una aplicación en el clúster. Más información sobre las canalizaciones de versión de Azure Pipelines.
Creación de una canalización de compilación
Abra un explorador web y vaya al nuevo proyecto en: https://dev.azure.com/\<organizationname>/VotingSample
Seleccione la pestaña Canalizaciones y seleccione Crear canalización.
Seleccione Usar el editor clásico para crear una canalización sin YAML.
Seleccione Azure Repos Git como origen, el proyecto de equipo VotingSample, el repositorio VotingApplication y la rama predeterminada maestra o compilaciones manuales y programadas. Después, seleccione Continuar.
En Seleccionar una plantilla, seleccione la plantilla de la aplicación de Azure Service Fabric y seleccione Apply (Aplicar).
En Tareas, escriba "Azure Pipelines" como grupo de agentes y windows-2022 como especificación del agente.
En Desencadenadores, habilite la integración continua, para lo que debe seleccionar Habilitar la integración continua. En Filtros de rama, la especificación de rama es maestro de forma predeterminada. Seleccione Guardar y poner en cola para iniciar manualmente una compilación.
Las compilaciones también se desencadenan después de una inserción o una protección. Para comprobar el progreso de la compilación, vaya a la pestaña Compilaciones. Cuando haya comprobado que la compilación se ejecuta correctamente, defina una canalización de versión que implemente la aplicación en un clúster.
Creación de una canalización de versión
Seleccione la pestaña Canalizaciones, luego, Versiones y, finalmente, + Nueva canalización. En Seleccionar una plantilla, seleccione la plantilla Implementación de Azure Service Fabric de la lista y haga clic en Aplicar.
Seleccione Tareas y, a continuación, +Nuevo para agregar una nueva conexión de clúster.
En la vista Nueva conexión de Service Fabric, seleccione la autenticación Basada en certificado o Credenciales de Microsoft Entra. Especifique el punto de conexión de clúster de tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" (o el punto de conexión del clúster en el que se va a implementar).
Para la autenticación basada en certificados, agregue la huella digital del certificado de servidor del certificado de servidor utilizado para crear el clúster. En Certificado de cliente, agregue la codificación en base 64 del archivo del certificado de cliente. Consulte la ventana de ayuda emergente de ese campo para obtener información sobre cómo obtener esa representación codificada en base 64 del certificado. Agregue también un valor de Contraseña del certificado. Puede utilizar el certificado del clúster o del servidor si no tiene un certificado de cliente independiente.
Para las credenciales de Microsoft Entra, agregue la Huella digital del certificado de servidor del certificado de servidor utilizado para crear el clúster y las credenciales que desea usar para conectarse al clúster en los campos Nombre de usuario y Contraseña.
Seleccione Guardar.
A continuación, agregue un artefacto de compilación a la canalización para que la canalización de versión pueda encontrar la salida de la compilación. Seleccione Canalización y Artefactos->+Agregar. En Origen (definición de compilación) , seleccione la canalización de compilación que creó anteriormente. Seleccione Agregar para guardar el artefacto de compilación.
Habilite un desencadenador de implementación continua para que se cree automáticamente una versión cuando finalice la compilación. Seleccione el icono de rayo en el artefacto, habilite el desencadenador y elija Guardar para guardar la canalización de versión.
Seleccione Crear versión ->Crear para crear manualmente una versión. El progreso de la versión se puede supervisar en la pestaña Versiones.
Compruebe que la implementación se haya efectuado correctamente y que la aplicación se está ejecutando en el clúster. Abra un explorador web y vaya a https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Anote la versión de la aplicación. En este ejemplo, es 1.0.0.20170616.3
.
Confirmar e insertar cambios y desencadenar una versión
Para verificar que la canalización de integración continua funciona, inserte en el repositorio algunos cambios de código para Azure DevOps.
A medida que escribe el código, Visual Studio realiza un seguimiento de los cambios de archivo en el proyecto en la sección Cambios de la ventana Cambios de Git.
En la vista Cambios, agregue un mensaje que describa la actualización y confirme los cambios.
En la ventana Cambios de Git, seleccione el botón Insertar (la flecha arriba) para actualizar el código en Azure Pipelines.
La inserción de los cambios en Azure Pipelines desencadena automáticamente una compilación. Para comprobar el progreso de la compilación, cambie a pestaña Canalizaciones en https://dev.azure.com/organizationname/VotingSample.
Cuando la compilación se haya completado, se creará automáticamente una versión y se empezará a actualizar la aplicación en el clúster.
Compruebe que la implementación se haya efectuado correctamente y que la aplicación se está ejecutando en el clúster. Abra un explorador web y vaya a https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Anote la versión de la aplicación. En este ejemplo, es 1.0.0.20170815.3
.
Actualizar la aplicación
Efectúe cambios de código en la aplicación. Guarde y confirme los cambios siguiendo los pasos anteriores.
Cuando haya comenzado la actualización de la aplicación, podrá ver el progreso de la actualización en Service Fabric Explorer:
La actualización de la aplicación puede tardar varios minutos. Una vez concluida la actualización, la aplicación ejecutará la próxima versión. En este ejemplo, 1.0.0.20170815.4
.
Pasos siguientes
En este tutorial, ha aprendido a:
- Agregar un control de código fuente al proyecto
- Creación de una canalización de compilación
- Creación de una canalización de versión
- Implementar y actualizar una aplicación automáticamente
Avance hasta el siguiente tutorial: