Tutorial: Implementar uma aplicação com CI/CD num cluster do Service Fabric

Este tutorial é a quarta parte de uma série e descreve como configurar a integração contínua e a implantação para um aplicativo do Azure Service Fabric usando o Azure Pipelines. É necessária uma aplicação do Service Fabric existente. A aplicação criada em Compilar uma aplicação .NET é utilizada como exemplo.

Na terceira parte da série, ficará a saber como:

  • Adicionar controlo de origem ao seu projeto
  • Criar um pipeline de compilação no Azure Pipelines
  • Criar um pipeline de versão no Azure Pipelines
  • Implementar e atualizar uma aplicação automaticamente

Nesta série de tutoriais, ficará a saber como:

Pré-requisitos

Antes de começar este tutorial:

Transferir a aplicação de votação de exemplo

Se não conseguiu criar a aplicação de votação de exemplo na primeira parte desta série de tutoriais, pode transferi-la. Numa janela do comando, execute o seguinte comando para clonar o repositório da aplicação de exemplo para o seu computador local.

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart

Preparar um perfil de publicação

Agora que já criou uma aplicação e implementou a aplicação no Azure, está pronto para configurar a integração contínua. Primeiro, prepare um perfil de publicação em seu aplicativo para uso pelo processo de implantação que é executado no Azure Pipelines. O perfil de publicação deve ser configurado para visar o cluster que criou anteriormente. Inicie o Visual Studio e abra um projeto de aplicação do Service Fabric existente. No Explorador de Soluções, clique com o botão direito do rato na aplicação e selecione Publicar....

Escolha um perfil de destino no seu projeto de aplicação para utilizar para o fluxo de trabalho de integração contínua, por exemplo, a Cloud. Especifique o ponto final de ligação do cluster. Marque a caixa de verificação Atualizar a Aplicação para que a aplicação seja atualizada para cada implementação no Azure DevOps. Clique na hiperligação Guardar para guardar as definições do perfil de publicação e, em seguida, clique em Cancelar para fechar a caixa de diálogo.

Push profile

Partilhar a sua solução Visual Studio num novo repositório Git do Azure DevOps

Partilhe os ficheiros de origem da aplicação para um projeto no Azure DevOps, para que possa gerar compilações.

Crie um novo repositório Git local para seu projeto selecionando Adicionar ao controle do código-fonte ->Git na barra de status no canto inferior direito do Visual Studio.

Na vista Push no Team Explorer, selecione o botão Publicar Repositório Git em Push para o Azure DevOps.

Screenshot of the Team Explorer - Synchronization window in Visual Studio. The Publish to Git Repo button is highlighted under Push to Azure DevOps.

Verifique o seu e-mail e selecione a sua conta na lista pendente Domínio do Azure DevOps. Introduza o nome do seu repositório e selecione Publicar repositório.

Screenshot of the Push to Azure DevOps settings with the Email, Account, Repository name, and Publish Repository button highlighted.

A publicação do repositório cria um novo projeto na sua conta com o mesmo nome que o repositório local. Para criar o repositório num projeto existente, clique em Avançadas junto ao nome do Repositório e selecione um projeto. Pode ver o código na Web, selecionando Ver na Web.

Configurar a Entrega Contínua com Pipelines do Azure

Um pipeline de compilação do Azure Pipelines descreve um fluxo de trabalho composto por um conjunto de etapas de compilação que são executadas sequencialmente. Crie um pipeline de compilação que produz um pacote de aplicação do Service Fabric, e outros artefactos, para implementar num cluster do Service Fabric. Saiba mais sobre Pipelines de compilação do Azure Pipelines.

Um pipeline de versão do Azure Pipelines descreve um fluxo de trabalho que implementa um pacote de aplicação num cluster. Quando utilizados em conjunto, o pipeline de compilação e o pipeline de versão executam o fluxo de trabalho completo, começando com os ficheiros de origem e terminando com uma aplicação em execução no cluster. Saiba mais sobre pipelines de versão do Azure Pipelines.

Criar um pipeline de compilação

Abra um browser e navegue até ao novo projeto em: https://<myaccount>.visualstudio.com/Voting/Voting%20Team/_git/Voting.

Selecione a guia Pipelines , depois Compilações e clique em Novo Pipeline.

New Pipeline

Selecione Azure Repos Git como origem, projeto de Equipe de Votação, Repositório de Votação e ramificação Padrão mestre para compilações manuais e agendadas. Em seguida, clique em Continuar.

Select repo

Em Selecionar um modelo, selecione o modelo Aplicação do Azure Service Fabric e clique em Aplicar.

Choose build template

Em Tarefas, digite "Hosted VS2017" como o pool de agentes.

Select tasks

Em Acionadores, ative a integração contínua ao selecionar Ativar a integração contínua. Nos filtros de Ramificação, a especificação de Ramificação assume como padrão master. Selecione Guardar e colocar em fila de espera para iniciar manualmente uma compilação.

Select triggers

As compilações também são acionadas após push ou dar entrada. Para verificar o progresso da compilação, alterne para a guia Compilações . Depois de verificar se a compilação é executada com êxito, defina um pipeline de liberação que implante seu aplicativo em um cluster.

Criar um pipeline de versão

Selecione a guia Pipelines , depois Releases e + New pipeline. Em Selecionar um modelo, selecione o modelo Implementação do Azure Service Fabric na lista e, em seguida, Aplicar.

Choose release template

Selecione Tarefas-Ambiente> 1 e, em seguida, +Novo para adicionar uma nova conexão de cluster.

Add cluster connection

Na vista Adicionar nova Ligação do Service Fabric, selecione Autenticação Baseada em Certificado ou Autenticação de ID do Microsoft Entra. Especifique um nome de ligação "mysftestcluster" e um ponto final de cluster "tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" (ou o ponto final do cluster no qual está a implementar).

Para autenticação baseada em certificado, adicione a impressão digital do certificado do servidor usado para criar o cluster. Em Certificado de cliente, adicione a codificação base 64 do ficheiro de certificado de cliente. Consulte o pop-up de ajuda sobre esse campo para obter informações sobre como obter essa representação com codificação base 64 do certificado. Além disso, adicione a Palavra-passe para o certificado. Pode utilizar o certificado de servidor ou cluster se não tiver um certificado de cliente separado.

Para credenciais do Microsoft Entra, adicione a impressão digital do certificado do certificado do servidor usado para criar o cluster e as credenciais que você deseja usar para se conectar ao cluster nos campos Nome de usuário e Senha .

Clique em Adicionar para guardar a ligação de cluster.

Em seguida, adicione um artefacto de compilação ao pipeline, para que o pipeline de versão possa encontrar o resultado da compilação. Selecione Pipeline e Artifacts->+Add. Em Origem (Definição de compilação), selecione o pipeline de compilação que criou anteriormente. Clique em Adicionar para criar o artefacto.

Add artifact

Ative um acionador de implementação contínua para que uma versão seja criada automaticamente quando a compilação for concluída. Clique no ícone de relâmpago no artefacto, ative o acionador e clique em Guardar para guardar o pipeline de versão.

Enable trigger

Selecione + Release -Create a Release ->>Create para criar manualmente uma versão. Pode monitorizar o progresso da versão no separador Versões.

Verifique se a implementação foi concluída com êxito e se a aplicação está em execução no cluster. Abra um browser e navegue para http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Tome nota da versão da aplicação, que neste exemplo é "1.0.0.20170616.3".

Consolidar e emitir alterações, acionar uma versão

Para verificar se o pipeline de integração contínua está a funcionar, dê entrada de algumas alterações de código no Azure DevOps.

À medida que escreve o código, as alterações são automaticamente controladas pelo Visual Studio. Confirme alterações em seu repositório Git local selecionando o ícone de alterações pendentes (Pending changes icon shows a pencil and a number.) na barra de status no canto inferior direito.

Na vista Alterações, no Team Explorer, adicione uma mensagem que descreva a atualização e consolide as alterações.

Commit all

Selecione o ícone da barra de status de alterações não publicadas (Unpublished changes) ou o modo de exibição Sincronizar no Team Explorer. Selecione Push para atualizar seu código no Azure Pipelines.

Push changes

Enviar as alterações para o Azure Pipelines aciona automaticamente uma compilação. Quando o pipeline de compilação for concluído com êxito, é criada automaticamente uma versão e a aplicação no cluster começa a ser atualizada.

Para verificar o progresso da compilação, mude para o separador Compilações no Team Explorer no Visual Studio. Depois de verificar se a compilação é executada com êxito, defina um pipeline de versão que implementa a aplicação num cluster.

Verifique se a implementação foi concluída com êxito e se a aplicação está em execução no cluster. Abra um browser e navegue para http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Tome nota da versão da aplicação, que neste exemplo é "1.0.0.20170815.3".

Screenshot of the Voting app in Service Fabric Explorer running in a browser window. The app version

Atualizar a aplicação

Efetue alterações de código na aplicação. Guarde e consolide as alterações, seguindo os passos anteriores.

Depois de iniciada a atualização de versão da aplicação, pode ver o progresso da atualização de versão no Service Fabric Explorer:

Screenshot of the Voting app in Service Fabric Explorer. The Status message

A atualização de versão da aplicação pode demorar vários minutos. Quando a atualização de versão estiver concluída, a aplicação irá executar a versão seguinte. Neste exemplo, "1.0.0.20170815.4".

Screenshot of the Voting app in Service Fabric Explorer running in a browser window. The updated app version

Próximos passos

Neste tutorial, ficou a saber como:

  • Adicionar controlo de origem ao seu projeto
  • Criar um pipeline de compilação
  • Criar um pipeline de versão
  • Implementar e atualizar uma aplicação automaticamente

Avance para o tutorial seguinte: