Tutorial: Implantar um aplicativo com CI/CD em um cluster do Service Fabric

Este tutorial é a quarta parte de uma série e descreve como configurar a integração e a implantação contínua de um aplicativo do Azure Service Fabric usando o Azure Pipelines. É necessário um aplicativo existente do Service Fabric e o aplicativo criado em Criar um aplicativo .NET é usado como exemplo.

Na terceira parte da série, você aprenderá a:

  • Adicionar controle do código-fonte ao seu projeto
  • Criar um pipeline de build no Azure Pipelines
  • Criar um pipeline de lançamento no Azure Pipelines
  • Implantar e atualizar automaticamente um aplicativo

Nesta série de tutoriais, você aprenderá a:

Pré-requisitos

Antes de começar este tutorial:

Baixar o aplicativo de exemplo Votação

Se você não tiver criado o aplicativo de exemplo Votação na parte um esta série de tutoriais, poderá baixá-lo. Em uma janela de comando, execute o comando a seguir para clonar o repositório de aplicativos de exemplo no computador local.

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

Preparar um perfil de publicação

Agora que você criou um aplicativo e implantou o aplicativo no Azure, você está pronto para configurar a integração contínua. Primeiro, prepare um perfil de publicação em seu aplicativo para ser usado pelo processo de implantação que é executado no Azure Pipelines. O perfil de publicação deve ser configurado para direcionar-se ao cluster que você criou anteriormente. Inicie o Visual Studio e abra um projeto de aplicativo do Service Fabric existente. No Gerenciador de Soluções, clique com o botão direito do mouse no aplicativo e selecione Publicar... .

Escolha um perfil de destino em seu projeto de aplicativo a fim de usar para o fluxo de trabalho de integração contínua, por exemplo, Nuvem. Especifique o ponto de extremidade de conexão do cluster. Marque a caixa de seleção Atualizar o Aplicativo para que seu aplicativo seja atualizado a cada implantação no Azure DevOps. Clique no hiperlink Salvar para salvar as configurações em seu perfil de publicação e, em seguida, clique em Cancelar para fechar a caixa de diálogo.

Push profile

Compartilhar sua solução do Visual Studio em um novo repositório Git do Azure DevOps

Compartilhe os arquivos de origem do aplicativo em um projeto no Azure DevOps para que você possa gerar builds.

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 exibição Push no Team Explorer, selecione o botão Publicar Repositório Git em Efetuar 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 seu email e selecione sua conta na lista suspensa Domínio do Azure DevOps. Digite 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 conta com o mesmo nome do repositório local. Para criar o repositório em um projeto existente, clique em Avançado ao lado do nome do Repositório e escolha um projeto. Você pode exibir seu código na Web selecionando Vê-lo na Web.

Configurar a entrega contínua com o Azure Pipelines

Um pipeline de build do Azure Pipelines descreve um fluxo de trabalho composto por um conjunto de etapas de build que são executadas sequencialmente. Crie um pipeline de build que produz um pacote de aplicativos do Service Fabric e outros artefatos para implantar em um cluster do Service Fabric. Saiba mais sobre os pipelines de build do Azure Pipelines.

Um pipeline de lançamento do Azure Pipelines descreve um fluxo de trabalho que implanta um pacote de aplicativos em um cluster. Quando usados juntos, o pipeline de lançamento e o pipeline de build executam todo o fluxo de trabalho, começando com os arquivos de origem e terminando com um aplicativo em execução em seu cluster. Saiba mais sobre os pipelines de lançamento do Azure Pipelines.

Criar um pipeline de build

Abra um navegador da Web e navegue até seu novo projeto em: https://<myaccount>.visualstudio.com/Voting/Voting%20Team/_git/Voting.

Selecione a guia Pipelines, Builds e clique em Novo Pipeline.

New Pipeline

Selecione Git do Azure Repos como fonte, projeto Voting Team, Repositório Voting e o branch Padrão mestre para builds manuais e agendados. Em seguida, clique em Continuar.

Select repo

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

Choose build template

Em Tarefas, insira "VS2017 Hospedado" como oPool de agentes.

Select tasks

Em Gatilhos, habilite a integração contínua marcando Habilitar a integração contínua. Dentro de Filtros de branch, a Especificação de branch assume mestre como padrão. Selecione Salvar e enfileirar para iniciar uma compilação manualmente.

Select triggers

A compilação também é disparada durante o push ou o check-in. Para verificar o progresso da compilação, alterne para a guia Compilações. Assim que verificar que o build é executado com êxito, defina um pipeline de lançamento que implante seu aplicativo em um cluster.

Criar um pipeline de lançamento

Selecione a guia Pipelines, Versões e + Novo pipeline. Em Selecionar um modelo, selecione o modelo Implantação do Azure Service Fabric na lista e Aplicar.

Choose release template

Selecione Tarefas->Ambiente 1 e +Novo para adicionar uma nova conexão do cluster.

Add cluster connection

Na exibição Adicionar nova conexão do Service Fabric, selecione a autenticação Baseada em certificado ou do Microsoft Entra ID. Especifique o nome de conexão de "mysftestcluster" e um ponto de extremidade do cluster "tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000" (ou o ponto de extremidade do cluster em que você está implantando).

Para a autenticação baseada em certificado, adicione a Impressão digital do certificado do servidor do certificado do servidor usado para criar o cluster. Em Certificado do cliente, adicione a codificação de base 64 do arquivo de certificado do cliente. Veja no pop-up de ajuda do campo informações sobre como obter essa representação de codificação de base 64 do certificado. Essa também é a Senha para o arquivo do certificado. Se você não tiver um certificado do cliente ou do servidor separado, poderá usar o certificado de cluster ou do servidor.

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

Clique em Adicionar para salvar a conexão do cluster.

Em seguida, adicione um artefato de compilação ao pipeline para que o pipeline de lançamento possa encontrar a saída da compilação. Selecione Pipeline e Artefatos->+Adicionar. Em Fonte (Definição de compilação), selecione o pipeline de build criado anteriormente. Clique em Adicionar para salvar o artefato de compilação.

Add artifact

Habilite um gatilho de implantação contínua para que uma versão seja criada automaticamente quando a compilação for concluída. Clique no ícone de raio no artefato, habilite o gatilho e clique em Salvar para salvar o pipeline de lançamento.

Enable trigger

Selecione + Versão ->Criar uma Versão ->Criar para criar manualmente uma versão. Você pode monitorar o andamento da versão na guia Versões.

Verifique se a implantação foi bem-sucedida e o aplicativo está em execução no cluster. Abra um navegador da Web e acesse http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Observe a versão do aplicativo, neste exemplo é "1.0.0.20170616.3".

Confirmar e enviar alterações por push, disparar uma versão

Para verificar se o pipeline de integração contínua está funcionando conferindo algumas alterações de código no Azure DevOps.

Ao escrever seu código, suas alterações são rastreadas automaticamente pelo Visual Studio. Confirme as 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 exibição Alterações no Team Explorer, adicione uma mensagem que descreva a atualização e confirme suas alterações.

Commit all

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

Push changes

O push das alterações para o Azure Pipelines dispara um build automaticamente. Quando o pipeline de build é concluído com êxito, uma versão é criada automaticamente e inicia a atualização do aplicativo no cluster.

Para verificar o progresso do build, alterne para a guia Builds no Team Explorer no Visual Studio. Depois de verificar que o build foi executado com êxito, configure um pipeline de lançamento para implantar aplicativo em um cluster.

Verifique se a implantação foi bem-sucedida e o aplicativo está em execução no cluster. Abra um navegador da Web e acesse http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Observe a versão do aplicativo, 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 o aplicativo

Fazer alterações de código no aplicativo. Salve e confirme as alterações, seguindo as etapas anteriores.

Depois que a atualização do aplicativo se inicia, você pode observar o progresso da atualização no Service Fabric Explorer:

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

A atualização do aplicativo pode levar vários minutos. Quando a atualização estiver concluída, o aplicativo estará executado a próxima versão. 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óximas etapas

Neste tutorial, você aprendeu a:

  • Adicionar controle do código-fonte ao seu projeto
  • Criar um pipeline de build
  • Criar um pipeline de lançamento
  • Implantar e atualizar automaticamente um aplicativo

Prosseguir para o próximo tutorial: