Share via


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

Este tutorial é a segunda parte de uma série e descreve como configurar a integração contínua e a implantação para um aplicativo de contêiner do Azure Service Fabric usando o Visual Studio e o Azure DevOps. É necessária uma aplicação do Service Fabric existente. A aplicação criada em Implementar uma aplicação .NET num contentor do Windows no Azure Service Fabric é utilizada como exemplo.

Na segunda parte da série, saiba como:

  • Adicionar controlo de origem ao seu projeto
  • Criar uma definição de compilação no Visual Studio Team Explorer
  • Criar uma definição de versão no Visual Studio Team Explorer
  • Implementar e atualizar uma aplicação automaticamente

Pré-requisitos

Antes de começar este tutorial:

Preparar um perfil de publicação

Agora que já implementou uma aplicação de contentor, está pronto para configurar a integração contínua. Primeiro, prepare um perfil de publicação na sua aplicação para ser utilizado pelo processo de implementação que é executado no Azure DevOps. 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

Compartilhe seus arquivos de origem do aplicativo em um projeto de equipe no Azure DevOps para que você 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. Under Push to Azure DevOps, the Publish to Git Repo button is highlighted.

Verifique seu e-mail e selecione sua organização na lista suspensa Conta . Poderá ter de configurar uma organização se ainda não tiver uma. Introduza o nome do seu repositório e selecione Publicar repositório.

Screenshot of the Push to Azure DevOps window. The settings for Email, Account, Repository name, and the Publish Repository button are highlighted.

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

Configurar a Entrega Contínua com Pipelines do Azure

Uma definição de compilação do Azure DevOps descreve um fluxo de trabalho composto por um conjunto de etapas de compilação que são executadas sequencialmente. Crie uma definição 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 as definições de compilação do Azure DevOps.

Uma definição de versão do Azure DevOps descreve um fluxo de trabalho que implanta um pacote de aplicativo em um cluster. Quando utilizadas em conjunto, a definição de compilação e a definição 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 as definições de versão do Azure DevOps.

Criar uma definição de compilação

Abra seu novo projeto de equipe navegando para https://dev.azure.com em um navegador da Web e selecionando sua organização, seguido pelo novo projeto.

Selecione a opção Pipelines no painel esquerdo e clique em New Pipeline.

Nota

Se não vir o modelo de definição de compilação, certifique-se de que a funcionalidade Nova experiência de criação do pipeline YAML está desativada. Esta funcionalidade está configurada na secção Funcionalidades de Pré-visualização da sua conta de DevOps.

New Pipeline

Selecione Azure Repos Git como origem, seu nome de projeto de equipe, seu repositório de projeto e ramificação padrão mestre ou compilações manuais e agendadas. Em seguida, clique em Continuar.

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

Choose build template

Em Tarefas, selecione Hosted VS2017 como Conjunto do agente.

Select tasks

Clique em Etiquetar imagens.

Em Tipo de Registo de Contentor, selecione Azure Container Registry. Selecione uma Subscrição do Azure e, em seguida, clique em Autorizar. Selecione um Azure Container Registry.

Select Docker Tag images

Clique em Enviar imagens.

Em Tipo de Registo de Contentor, selecione Azure Container Registry. Selecione uma Subscrição do Azure e, em seguida, clique em Autorizar. Selecione um Azure Container Registry.

Select Docker Push images

Na guia Triggers, habilite a integração contínua marcando Habilitar integração contínua. Nos Filtros de ramos, clique em + Adicionar e a Especificação do ramo será predefinida para mestre.

Na caixa de diálogo Guardar pipeline de compilação e fila, clique em Guardar e colocar em fila 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 uma definição de versão que implante seu aplicativo em um cluster.

Criar uma definição de versão

Selecione a opção Pipelines no painel esquerdo, depois Releases, + 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 ligaçã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 a autenticação baseada em certificado, adicione o Thumbprint do certificado de servidor do certificado de servidor utilizado 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 Fase do Agente, clique em Implementar Aplicação do Service Fabric. Clique em Definições do Docker e, em seguida, clique em Configurar definições do Docker. Em Origem das Credenciais de Registo, selecione Ligação do Serviço Azure Resource Manager. Em seguida, selecione a sua subscrição do Azure.

Release pipeline agent

Em seguida, adicione um artefacto de compilação ao pipeline, para a definição de versão possa encontrar o resultado da compilação. Selecione Pipeline e Artifacts->+Add. Em Origem (Definição de compilação), selecione a definição 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 a definição 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 o código no Azure DevOps.

Push changes

A emissão das alterações ao Azure DevOps aciona automaticamente uma compilação. Quando a definição de compilação for concluída com êxito, uma versão é criada automaticamente e começa a atualizar a aplicação no cluster.

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 uma definição 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. In the Essentials tab, 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. An

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. In the Essentials tab, the updated app version

Próximos passos

Neste tutorial, ficou a saber como:

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

Na parte seguinte do tutorial, aprenda a configurar a monitorização para o contentor.