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:

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.

Perfil de inserción

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.

Captura de pantalla de la creación de un nuevo repositorio de Git.

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.

Nueva canalización

Seleccione Usar el editor clásico para crear una canalización sin YAML.

Editor clásico

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.

Seleccionar repositorio

En Seleccionar una plantilla, seleccione la plantilla de la aplicación de Azure Service Fabric y seleccione Apply (Aplicar).

Elegir la plantilla de compilación

En Tareas, escriba "Azure Pipelines" como grupo de agentes y windows-2022 como especificación del agente.

Seleccionar tareas

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.

Seleccionar desencadenadores

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.

Elegir la versión de la plantilla

Seleccione Tareas y, a continuación, +Nuevo para agregar una nueva conexión de clúster.

Agregar conexión del 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.

Agregar artefacto

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.

Habilitar el desencadenador

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.

Confirmar todo

En la ventana Cambios de Git, seleccione el botón Insertar (la flecha arriba) para actualizar el código en Azure Pipelines.

Inserción de los cambios

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.

Captura de pantalla de la aplicación Voting de Service Fabric Explorer ejecutándose en una ventana del explorador. La versión de la aplicación “1.0.0.20170815.3” aparece resaltada.

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:

Captura de pantalla de la aplicación Voting de Service Fabric Explorer. El mensaje de estado “Actualizando” y un mensaje de “Actualización en curso” aparecen resaltados.

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.

Captura de pantalla de la aplicación Voting de Service Fabric Explorer ejecutándose en una ventana del explorador. La versión actualizada de la aplicación “1.0.0.20170815.4” aparece resaltada.

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: