Tutorial: Implantar um aplicativo .NET em um contêiner do Windows no Azure Service FabricTutorial: Deploy a .NET application in a Windows container to Azure Service Fabric

Este tutorial mostra como colocar um aplicativo ASP.NET existente em um contêiner e empacotá-lo como um aplicativo do Service Fabric.This tutorial shows you how to containerize an existing ASP.NET application and package it as a Service Fabric application. Execute os contêineres localmente no cluster de desenvolvimento do Service Fabric e, em seguida, implante o aplicativo no Azure.Run the containers locally on the Service Fabric development cluster and then deploy the application to Azure. O aplicativo persiste os dados no Banco de Dados SQL do Azure.The application persists data in Azure SQL Database.

Neste tutorial, você aprenderá como:In this tutorial, you learn how to:

  • Colocar um aplicativo existente em um contêiner usando o Visual StudioContainerize an existing application using Visual Studio
  • Criar um banco de dados SQL do AzureCreate an Azure SQL database
  • Criar um registro de contêiner do AzureCreate an Azure container registry
  • Implantar um aplicativo do Service Fabric no AzureDeploy a Service Fabric application to Azure

Observação

Este artigo foi atualizado para usar o novo módulo Az do Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Você ainda pode usar o módulo AzureRM, que continuará a receber as correções de bugs até pelo menos dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para saber mais sobre o novo módulo Az e a compatibilidade com o AzureRM, confira Apresentação do novo módulo Az do Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obter instruções de instalação do módulo Az, confira Instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Pré-requisitosPrerequisites

  1. Se você não tiver uma assinatura do Azure, crie uma conta gratuitaIf you don't have an Azure subscription, create a free account
  2. Instalar o Docker CE para Windows de forma que você possa executar contêineres no Windows 10.Install Docker CE for Windows so that you can run containers on Windows 10.
  3. Instalar a versão 6.2 ou posterior de tempo de execução do Service Fabric e a versão 3.1 do SDK do Service Fabric ou posterior.Install Service Fabric runtime version 6.2 or later and the Service Fabric SDK version 3.1 or later.
  4. Instale o Visual Studio 2019 versão 16.1 ou posterior com as cargas de trabalho de Desenvolvimento do Azure e Desenvolvimento para a Web e ASP.NET.Install Visual Studio 2019 Version 16.1 or later with the Azure development and ASP.NET and web development workloads.
  5. Instalar o Azure PowerShellInstall Azure PowerShell

Baixar e executar o Fabrikam Fiber CallCenterDownload and run Fabrikam Fiber CallCenter

Baixe o aplicativo de exemplo Fabrikam Fiber CallCenter.Download the Fabrikam Fiber CallCenter sample application. Clique no link baixar arquivo.Click the download archive link. No diretório sourceCode no arquivo fabrikam.zip, extraia o arquivo sourceCode.zip e, em seguida, extraia o diretório VS2015 no seu computador.From the sourceCode directory in the fabrikam.zip file, extract the sourceCode.zip file and then extract the VS2015 directory to your computer.

Verifique se o aplicativo Fabrikam fibra CallCenter é compilado e executado sem erros.Verify that the Fabrikam Fiber CallCenter application builds and runs without error. Inicie o Visual Studio como um administrador e abra o arquivo FabrikamFiber.CallCenter.sln.Launch Visual Studio as an administrator and open the FabrikamFiber.CallCenter.sln file. Pressione F5 para depurar e executar o aplicativo.Press F5 to debug and run the application.

Exemplo de Fabrikam Web

Colocar o aplicativo em um contêinerContainerize the application

Clique com o botão direito do mouse no projeto FabrikamFiber.Web > Adicionar > Suporte do Orquestrador do Contêiner.Right-click the FabrikamFiber.Web project > Add > Container Orchestrator Support. Selecione Service Fabric como o orchestrator do contêiner e clique em OK.Select Service Fabric as the container orchestrator and click OK.

Clique em Sim para alternar o Docker para contêineres do Windows agora.Click Yes to switch Docker to Windows containers now.

Um novo projeto de aplicativo do Service Fabric FabrikamFiber.CallCenterApplication é criado na solução.A new project Service Fabric application project FabrikamFiber.CallCenterApplication is created in the solution. Um Dockerfile é adicionado ao projeto FabrikamFiber.Web existente.A Dockerfile is added to the existing FabrikamFiber.Web project. Um diretório PackageRoot também é adicionado ao projeto FabrikamFiber.Web, que contém o manifesto do serviço e as configurações para o novo serviço FabrikamFiber.Web.A PackageRoot directory is also added to the FabrikamFiber.Web project, which contains the service manifest and settings for the new FabrikamFiber.Web service.

O contêiner agora está pronto para ser compilado e empacotado em um aplicativo do Service Fabric.The container is now ready to be built and packaged in a Service Fabric application. Depois de compilar a imagem de contêiner no computador, você poderá enviá-la por push para qualquer registro de contêiner e efetuar pull dela em qualquer host para execução.Once you have the container image built on your machine, you can push it to any container registry and pull it down to any host to run.

Criar um Banco de Dados SQL do AzureCreate an Azure SQL DB

Ao executar o aplicativo da Fabrikam Fiber CallCenter em produção, os dados precisam ser mantidos em um banco de dados.When running the Fabrikam Fiber CallCenter application in production, the data needs to be persisted in a database. Atualmente, não existe uma maneira de garantir a persistência de dados em um contêiner. Portanto, não é possível armazenar dados de produção no SQL Server em um contêiner.There is currently no way to guarantee persistent data in a container, therefore you cannot store production data in SQL Server in a container.

Recomendamos o Banco de Dados SQL do Azure.We recommend Azure SQL Database. Para configurar e executar um banco de dados gerenciado do SQL Server no Azure, execute o script a seguir.To set up and run a managed SQL Server DB in Azure, run the following script. Modificar as variáveis de script conforme necessário.Modify the script variables as necessary. clientIP é o endereço IP do seu computador de desenvolvimento.clientIP is the IP address of your development computer. Anote o nome do servidor produzido pelo script.Take note of the name of the server outputted by the script.

$subscriptionID="<subscription ID>"

# Sign in to your Azure account and select your subscription.
Login-AzAccount -SubscriptionId $subscriptionID 

# The data center and resource name for your resources.
$dbresourcegroupname = "fabrikam-fiber-db-group"
$location = "southcentralus"

# The logical server name: Use a random value or replace with your own value (do not capitalize).
$servername = "fab-fiber-$(Get-Random)"

# Set an admin login and password for your database.
# The login information for the server.
$adminlogin = "ServerAdmin"
$password = "Password@123"

# The IP address of your development computer that accesses the SQL DB.
$clientIP = "<client IP>"

# The database name.
$databasename = "call-center-db"

# Create a new resource group for your deployment and give it a name and a location.
New-AzResourceGroup -Name $dbresourcegroupname -Location $location

# Create the SQL server.
New-AzSqlServer -ResourceGroupName $dbresourcegroupname `
    -ServerName $servername `
    -Location $location `
    -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))

# Create the firewall rule to allow your development computer to access the server.
New-AzSqlServerFirewallRule -ResourceGroupName $dbresourcegroupname `
    -ServerName $servername `
    -FirewallRuleName "AllowClient" -StartIpAddress $clientIP -EndIpAddress $clientIP

# Creeate the database in the server.
New-AzSqlDatabase  -ResourceGroupName $dbresourcegroupname `
    -ServerName $servername `
    -DatabaseName $databasename `
    -RequestedServiceObjectiveName "S0"

Write-Host "Server name is $servername"

Dica

Se você estiver atrás de um firewall corporativo, o endereço IP do seu computador de desenvolvimento não pode ser um endereço IP exposto à Internet.If you are behind a corporate firewall, the IP address of your development computer may not be IP address exposed to the internet. Para verificar se o banco de dados tem o endereço IP correto para a regra de firewall, vá até portal do Azure e encontre seu banco de dados na seção de bancos de dados SQL.To verify that the database has the correct IP address for the firewall rule, go to the Azure portal and find your database in the SQL Databases section. Clique em seu nome, depois, na seção Visão geral, clique em “Definir o firewall do servidor”.Click on its name, then in the Overview section click "Set server firewall". O “Endereço IP do cliente” é o endereço IP do seu computador de desenvolvimento."Client IP address" is the IP address of your development machine. Verifique se ele corresponde ao endereço IP na regra “AllowClient”.Ensure that it matches the IP address in the "AllowClient" rule.

Atualizar a configuração da WebUpdate the web config

Novamente no projeto FabrikamFiber.Web, atualize a cadeia de conexão no arquivo web.config para que ela aponte para o SQL Server no contêiner.Back in the FabrikamFiber.Web project, update the connection string in the web.config file, to point to the SQL Server in the container. Atualize a parte do Servidor da cadeia de conexão para o nome do servidor criado pelo script anterior.Update the Server part of the connection string to be the server name created by the previous script. Deve ser algo como "fab-fiber-751718376.database.windows.net".It should be something like "fab-fiber-751718376.database.windows.net".

<add name="FabrikamFiber-Express" connectionString="Server=<server name>,1433;Initial Catalog=call-center-db;Persist Security Info=False;User ID=ServerAdmin;Password=Password@123;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />
<add name="FabrikamFiber-DataWarehouse" connectionString="Server=<server name>,1433;Initial Catalog=call-center-db;Persist Security Info=False;User ID=ServerAdmin;Password=Password@123;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />
  

Observação

Você pode usar qualquer SQL Server que preferir para a depuração local, desde que ele seja acessível no host.You can use any SQL Server you prefer for local debugging, as long as it is reachable from your host. No entanto, localdb não dá suporte à comunicação container -> host.However, localdb does not support container -> host communication. Se você desejar usar outro banco de dados SQL ao criar um build de versão de seu aplicativo Web, adicione outra cadeia de conexão ao arquivo web.release.config.If you want to use a different SQL database when building a release build of your web application, add another connection string to your web.release.config file.

Executar o aplicativo em contêineres localmenteRun the containerized application locally

Pressione F5 para executar e depurar o aplicativo em um contêiner no cluster de desenvolvimento do Service Fabric.Press F5 to run and debug the application in a container on the local Service Fabric development cluster. Clique em Sim se for exibida uma caixa de mensagem pedindo para conceder permissões de leitura e execução para o grupo “ServiceFabricAllowedUsers” para o seu diretório de projeto do Visual Studio.Click Yes if presented with a message box asking to grant 'ServiceFabricAllowedUsers' group read and execute permissions to your Visual Studio project directory.

Criar um registro de contêinerCreate a container registry

Agora que o aplicativo é executado localmente, comece a preparar a implantação no Azure.Now that the application runs locally, start preparing to deploy to Azure. As imagens de contêiner precisam ser armazenadas em um registro de contêiner.Container images need to be stored in a container registry. Criar um registro de contêiner do Azure usando o script a seguir.Create an Azure container registry using the following script. O nome do registro de contêiner é visível por outras assinaturas do Azure, portanto ele deve ser exclusivo.The container registry name is visible by other Azure subscriptions, so it must be unique. Antes de implantar o aplicativo no Azure, você pode enviar por push a imagem de contêiner para esse registro.Before deploying the application to Azure, you push the container image to this registry. Quando o aplicativo for implantado no cluster no Azure, a imagem de contêiner é extraída desse registro.When the application deploys to the cluster in Azure, the container image is pulled from this registry.

# Variables
$acrresourcegroupname = "fabrikam-acr-group"
$location = "southcentralus"
$registryname="fabrikamregistry$(Get-Random)"

New-AzResourceGroup -Name $acrresourcegroupname -Location $location

$registry = New-AzContainerRegistry -ResourceGroupName $acrresourcegroupname -Name $registryname -EnableAdminUser -Sku Basic

Criar um cluster do Service Fabric no AzureCreate a Service Fabric cluster on Azure

Aplicativos do Service Fabric são executados em um cluster, um conjunto conectado à rede de máquinas virtuais ou físicas.Service Fabric applications run on a cluster, a network-connected set of virtual or physical machines. Antes de implantar o aplicativo no Azure, crie um cluster do Service Fabric no Azure.Before you can deploy the application to Azure, create a Service Fabric cluster in Azure.

Você pode:You can:

Este tutorial cria um cluster do Visual Studio, que é ideal para cenários de teste.This tutorial creates a cluster from Visual Studio, which is ideal for test scenarios. Se você criar um cluster de alguma outra forma, ou usar um cluster existente, você pode copiar e colar o ponto de extremidade de conexão ou escolhê-lo em sua assinatura.If you create a cluster some other way or use an existing cluster, you can copy and paste your connection endpoint or choose it from your subscription.

Antes de começar, abra FabrikamFiber.Web->PackageRoot->ServiceManifest.xml no Gerenciador de Soluções.Before starting, open FabrikamFiber.Web->PackageRoot->ServiceManifest.xml in the Solution Explorer. Anote a porta do front-end da Web listada em Ponto de extremidade.Take note of the port for the web front-end listed in Endpoint.

Ao criar o cluster,When creating the cluster,

  1. Clique com o botão direito do mouse no projeto de aplicativo Fabrikam.CallCenterApplication no Gerenciador de Soluções e escolha Publicar.Right-click on the FabrikamFiber.CallCenterApplication application project in the Solution Explorer and choose Publish.

  2. Entre usando sua conta do Azure para que você possa ter acesso às assinaturas.Sign in by using your Azure account so that you can have access to your subscription(s).

  3. Selecione a lista suspensa para o Ponto de Extremidade de Conexão e selecione a opção Criar Novo Cluster... .Select the dropdown for the Connection Endpoint and select the Create New Cluster... option.

  4. Na caixa de diálogo Criar cluster, modifique as seguintes configurações:In the Create cluster dialog, modify the following settings:

    a.a. Especifique o nome do cluster no campo Nome do Cluster, bem como a assinatura e o local que você deseja usar.Specify the name of your cluster in the Cluster Name field, as well as the subscription and location you want to use. Anote o nome do seu grupo de recursos de cluster.Take note of the name of your cluster resource group.

    b.b. Opcional: é possível modificar o número de nós.Optional: You can modify the number of nodes. Por padrão, existem três nós, o mínimo necessário para testar cenários do Service Fabric.By default you have three nodes, the minimum required for testing Service Fabric scenarios.

    c.c. Selecione a guia Certificado. Nessa guia, digite uma senha a ser usada para proteger o certificado do cluster.Select the Certificate tab. In this tab, type a password to use to secure the certificate of your cluster. Esse certificado ajuda a proteger o cluster.This certificate helps make your cluster secure. Você também pode modificar o caminho de onde deseja salvar o certificado.You can also modify the path to where you want to save the certificate. O Visual Studio também pode importar o certificado para você, já que essa é uma etapa necessária para publicar o aplicativo no cluster.Visual Studio can also import the certificate for you, since this is a required step to publish the application to the cluster.

    d.d. Selecione a guia Detalhes da VM. Especifique a senha que você deseja usar para as VMs (máquinas virtuais) que compõem o cluster.Select the VM Detail tab. Specify the password you would like to use for the Virtual Machines (VM) that make up the cluster. O nome de usuário e a senha podem ser usados para se conectar remotamente às VMs.The user name and password can be used to remotely connect to the VMs. Você também deve selecionar um tamanho de máquina VM e pode alterar a imagem da VM, se necessário.You must also select a VM machine size and can change the VM image if needed.

    Importante

    Escolha um SKU que dê suporte a contêineres em execução.Choose a SKU that supports running containers. O sistema operacional Windows Server nos seus nós de cluster devem ser compatíveis com o sistema operacional Windows Server do seu contêiner.The Windows Server OS on your cluster nodes must be compatible with the Windows Server OS of your container. Para obter mais informações, consulte Compatibilidade do sistema operacional contêiner e do sistema operacional do host do Windows Server.To learn more, see Windows Server container OS and host OS compatibility. Por padrão, este tutorial cria uma imagem do Docker com base no Windows Server 2016 LTSC.By default, this tutorial creates a Docker image based on Windows Server 2016 LTSC. Contêineres com base nesta imagem serão executados em clusters criados com o Windows Server 2016 Datacenter com contêineres.Containers based on this image will run on clusters created with Windows Server 2016 Datacenter with Containers. No entanto, se você cria um cluster ou usa um cluster existente com base no Windows Server Datacenter Core 1709 com contêineres, você deve alterar a imagem do sistema operacional do Windows Server na qual o contêiner se baseia.However, if you create a cluster or use an existing cluster based on Windows Server Datacenter Core 1709 with Containers, you must change the Windows Server OS image that the container is based on. Abra o Dockerfile no projeto FabrikamFiber.Web, comente a instrução FROM existente (com base em windowsservercore-ltsc) e remova os comentários da instrução FROM com base em windowsservercore-1709.Open the Dockerfile in the FabrikamFiber.Web project, comment out the existing FROM statement (based on windowsservercore-ltsc) and uncomment the FROM statement based on windowsservercore-1709.

    e.e. Na guia Avançado, liste a porta do aplicativo que deverá ser aberta no balanceador de carga quando o cluster for implantado.In the Advanced tab, list the application port to open in the load balancer when the cluster deploys. Essa é a porta que você anotou antes de iniciar a criação do cluster.This is the port that you took note of before starting creating the cluster. Você também pode adicionar uma chave existente do Application Insights a ser usada para direcionar os arquivos de log do aplicativo.You can also add an existing Application Insights key to be used to route application log files to.

    f.f. Quando você terminar de modificar as configurações, selecione o botão Criar.When you are done modifying settings, select the Create button.

  5. A criação levará alguns minutos para ser concluída; a janela de saída indica quando o cluster foi totalmente criado.Creation takes several minutes to complete; the output window will indicate when the cluster is fully created.

Permita que o aplicativo em execução no Azure acesse o Banco de Dados SQLAllow your application running in Azure to access the SQL DB

Anteriormente, você criou uma regra de firewall do SQL para conceder acesso ao seu aplicativo em execução localmente.Previously, you created a SQL firewall rule to give access to your application running locally. Em seguida, você precisa habilitar o aplicativo em execução no Azure para acessar o Banco de Dados SQL.Next, you need to enable the application running in Azure to access the SQL DB. Crie um ponto de extremidade de serviço de rede virtual para o cluster do Service Fabric e, em seguida, crie uma regra para permitir que esse ponto de extremidade acesse o Banco de Dados SQL.Create a virtual network service endpoint for the Service Fabric cluster and then create a rule to allow that endpoint to access the SQL DB. Especifique a variável de grupo de recursos de cluster que você observou ao criar o cluster.Be sure to specify the cluster resource group variable that you took note of when creating the cluster.

# Create a virtual network service endpoint
$clusterresourcegroup = "<cluster resource group>"
$resource = Get-AzResource -ResourceGroupName $clusterresourcegroup -ResourceType Microsoft.Network/virtualNetworks | Select-Object -first 1
$vnetName = $resource.Name

Write-Host 'Virtual network name: ' $vnetName 

# Get the virtual network by name.
$vnet = Get-AzVirtualNetwork `
  -ResourceGroupName $clusterresourcegroup `
  -Name              $vnetName

Write-Host "Get the subnet in the virtual network:"

# Get the subnet, assume the first subnet contains the Service Fabric cluster.
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet | Select-Object -first 1

$subnetName = $subnet.Name
$subnetID = $subnet.Id
$addressPrefix = $subnet.AddressPrefix

Write-Host "Subnet name: " $subnetName " Address prefix: " $addressPrefix " ID: " $subnetID

# Assign a Virtual Service endpoint 'Microsoft.Sql' to the subnet.
$vnet = Set-AzVirtualNetworkSubnetConfig `
  -Name            $subnetName `
  -AddressPrefix   $addressPrefix `
  -VirtualNetwork  $vnet `
  -ServiceEndpoint Microsoft.Sql | Set-AzVirtualNetwork

$vnet.Subnets[0].ServiceEndpoints;  # Display the first endpoint.

# Add a SQL DB firewall rule for the virtual network service endpoint
$subnet = Get-AzVirtualNetworkSubnetConfig `
  -Name           $subnetName `
  -VirtualNetwork $vnet;

$VNetRuleName="ServiceFabricClusterVNetRule"
$vnetRuleObject1 = New-AzSqlServerVirtualNetworkRule `
  -ResourceGroupName      $dbresourcegroupname `
  -ServerName             $servername `
  -VirtualNetworkRuleName $VNetRuleName `
  -VirtualNetworkSubnetId $subnetID;

Implantar o aplicativo no AzureDeploy the application to Azure

Agora que o aplicativo está pronto, você poderá implantá-lo no cluster no Azure diretamente por meio do Visual Studio.Now that the application is ready, you can deploy it to the cluster in Azure directly from Visual Studio. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto de aplicativo Fabrikam.CallCenterApplication e selecione Publicar.In Solution Explorer, right-click the FabrikamFiber.CallCenterApplication application project and select Publish. Em Ponto de extremidade de Conexão, selecione o ponto de extremidade do cluster que você criou anteriormente.In Connection Endpoint, select the endpoint of the cluster that you created previously. Em Registro de Contêiner do Azure, selecione o registro de contêiner que você criou anteriormente.In Azure Container Registry, select the container registry that you created previously. Clique em Publicar para implantar o aplicativo no cluster no Azure.Click Publish to deploy the application to the cluster in Azure.

aplicativo Publicar

Acompanhe o progresso da implantação na janela de saída.Follow the deployment progress in the output window. Quando o aplicativo for implantado, abra um navegador e digite o endereço do cluster e a porta do aplicativo.When the application is deployed, open a browser and type in the cluster address and application port. Por exemplo, http://fabrikamfibercallcenter.southcentralus.cloudapp.azure.com:8659/.For example, http://fabrikamfibercallcenter.southcentralus.cloudapp.azure.com:8659/.

Exemplo de Fabrikam Web

Configurar a Integração e Implantação Contínuas (CI/CD) com o cluster do Service FabricSet up Continuous Integration and Deployment (CI/CD) with a Service Fabric cluster

Para saber como usar o Azure DevOps para configurar a implantação de aplicativos de CI/CD para um cluster do Service Fabric, confira Tutorial: Implantar um aplicativo com CI/CD em um cluster do Service Fabric.To learn how to use Azure DevOps to configure CI/CD application deployment to a Service Fabric cluster, see Tutorial: Deploy an application with CI/CD to a Service Fabric cluster. O processo descrito no tutorial é o mesmo para este projeto (FabrikamFiber), basta ignorar o download do exemplo de Votação e substituir FabrikamFiber como o nome do repositório, em vez de Votação.The process described in the tutorial is the same for this (FabrikamFiber) project, just skip downloading the Voting sample and substitute FabrikamFiber as the repository name instead of Voting.

Limpar recursosClean up resources

Se você tiver terminado, certifique-se de remover todos os recursos que você criou.If you're done, be sure to remove all the resources you created. A maneira mais simples é remover os grupos de recursos que contêm o cluster do Service Fabric, o Banco de Dados SQL do Azure e o Registro de Contêiner do Azure.The simplest way to is to remove the resources groups that contain the Service Fabric cluster, Azure SQL DB, and Azure Container Registry.

$dbresourcegroupname = "fabrikam-fiber-db-group"
$acrresourcegroupname = "fabrikam-acr-group"
$clusterresourcegroupname="fabrikamcallcentergroup"

# Remove the Azure SQL DB
Remove-AzResourceGroup -Name $dbresourcegroupname

# Remove the container registry
Remove-AzResourceGroup -Name $acrresourcegroupname

# Remove the Service Fabric cluster
Remove-AzResourceGroup -Name $clusterresourcegroupname

Próximas etapasNext steps

Neste tutorial, você aprendeu como:In this tutorial, you learned how to:

  • Colocar um aplicativo existente em um contêiner usando o Visual StudioContainerize an existing application using Visual Studio
  • Criar um banco de dados SQL do AzureCreate an Azure SQL database
  • Criar um registro de contêiner do AzureCreate an Azure container registry
  • Implantar um aplicativo do Service Fabric no AzureDeploy a Service Fabric application to Azure

Na próxima parte do tutorial, saiba como Implantar um aplicativo de contêiner com CI/CD para um cluster do Service Fabric.In the next part of the tutorial, learn how to Deploy a container application with CI/CD to a Service Fabric cluster.