Tutorial: Configuración de CI/CD para una aplicación de Service Fabric mediante Azure Pipelines

Este tutorial es la cuarta parte de una serie. Le muestra cómo establecer la integración continua y la implementación continua (CI/CD) para una aplicación de Azure Service Fabric mediante el uso de Azure Pipelines. Para completar el tutorial, debe tener una aplicación de Service Fabric existente. Este tutorial usa la aplicación que se describe en la primera parte de la serie de tutoriales.

En este tutorial, aprenderá 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 esta serie de tutoriales se muestra cómo realizar las siguientes acciones:

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. Seleccione la casilla Actualizar la aplicación para que la esta se actualice para cada implementación de Azure DevOps. Seleccione el vínculo Guardar perfil para guardar la configuración en el perfil de publicación y, después, seleccione Cancelar para cerrar el cuadro de diálogo.

Captura de pantalla que muestra cómo insertar un perfil para publicar la aplicació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.

Para crear un nuevo repositorio de GitHub y un repositorio de Azure DevOps en Visual Studio 2022, seleccione Git>Crear repositorio de Git en el menú de Git.

Seleccione su cuenta y escriba el nombre del repositorio. Seleccione Crear e insertar.

Captura de pantalla que muestra 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 puntero sobre el nombre del proyecto y seleccione el icono Repositorios.

Configuración de la entrega continua mediante Azure Pipelines

Una canalización de compilación de Azure Pipelines describe un flujo de trabajo que tiene una serie de pasos de compilación que se ejecutan de manera secuencial. Para implementar en un clúster de Service Fabric, cree una canalización de compilación que produzca un paquete de aplicación de Service Fabric y otros artefactos. 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 a su nuevo proyecto en https://dev.azure.com/<organization-name>/VotingSample.

Seleccione la pestaña Canalizaciones y seleccione Crear canalización.

Captura de pantalla que muestra la creación de una nueva canalización.

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

Captura de pantalla que muestra el uso del editor clásico para crear una canalización.

En origen, seleccione Git de Azure Repos. En Proyecto de equipo, seleccione VotingSample. En Repositorio, seleccione VotingApplication. Deje la rama predeterminada para las compilaciones manuales y programadas. Después, seleccione Continuar.

Captura de pantalla que muestra la selección del repositorio en Azure DevOps.

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

Captura de pantalla que muestra la selección y creación de una plantilla.

En Tareas, en Grupo de agentes, escriba Azure Pipelines. Para Especificación del agente, escriba windows-2022.

Captura de pantalla que muestra la selección de tareas.

En Desencadenadores, seleccione la casilla Habilitar 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.

Captura de pantalla que muestra la selección de un desencadenador.

Las compilaciones también se desencadenan después de una inserción o una protección. Para comprobar el progreso de la compilación, seleccione la pestaña Compilaciones. Cuando haya verificado que la compilación se ejecuta correctamente, defina una canalización de versión que implemente la aplicación en un clúster.

Crear una canalización de versión

Seleccione la pestaña Canalizaciones y después Lanzamientos>Nueva canalización. En Seleccionar una plantilla, seleccione la plantilla Implementación de Azure Service Fabric y, después, seleccione Aplicar.

Recorte de pantalla que muestra la selección de una plantilla de lanzamiento.

Seleccione Tareas>Nueva para agregar una nueva conexión de clúster.

Recorte de pantalla que muestra la adición de una conexión de clúster.

En Nueva conexión de Service Fabric, seleccione Autenticación basada en certificados o Autenticación basada en credenciales de Microsoft Entra. Especifique un 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 información de ayuda de ese campo para saber cómo obtener esa representación codificada en base-64 del certificado. Además, agregue la contraseña para el certificado. Puede usar el certificado del clúster o el del servidor si no tiene un certificado de cliente independiente.

Para las credenciales de Microsoft Entra, agregue un valor para Huella del certificado del servidor. Use el certificado del servidor que usó para crear el clúster y las credenciales que quiere usar para conectarse al clúster en 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>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.

Captura de pantalla que muestra cómo agregar un 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 seleccione Guardar para guardar la canalización de versión.

Captura de pantalla que muestra cómo habilitar el desencadenador.

Seleccione Crear versión>Crear para crear manualmente una versión. Para supervisar el progreso de la versión, seleccione 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.

Confirmación y envío de cambios para 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 del panel Cambios de Git.

En Cambios, escriba un mensaje para describir la actualización y, a continuación, confirme los cambios.

Captura de pantalla que muestra la confirmación de los cambios más recientes.

En Cambios de Git, seleccione Insertar (la flecha hacia arriba) para actualizar su código en Azure Pipelines.

Captura de pantalla que muestra la opción Insertar.

Al insertar los cambios en Azure Pipelines, se desencadena una compilación. Para comprobar el progreso de su compilación, seleccione la pestaña Perfiles de la aplicación 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.

Recorte de pantalla que muestra la aplicación de votación en Service Fabric Explorer ejecutándose en un explorador, con la versión de la aplicación resaltada.

Actualizar la aplicación

Efectúe cambios de código en la aplicación. Guarde y confirme los cambios.

Cuando comience la actualización de la aplicación, puede realizar un seguimiento del progreso de la actualización en Service Fabric Explorer:

Recorte de pantalla que muestra la aplicación de votación en Service Fabric Explorer ejecutándose en un explorador, con los mensajes de estado destacados.

La actualización de la aplicación puede tardar varios minutos. Una vez finalizada la actualización, la aplicación ejecuta la siguiente versión. En este ejemplo, se ejecuta la versión 1.0.0.20170815.4.

Recorte de pantalla que muestra la aplicación de votación en Service Fabric Explorer ejecutándose en un explorador, con la versión de la aplicación actualizada resaltada.

Paso siguiente

Avance hasta el siguiente tutorial: