A seguir, contém instruções para que seja feito deploy de um Web App Service, utilizando o .ZIP dos arquivos gerados, imagem de container e a pipeline do Azure DevOps.
Aplicações terceiras que precisam realizar operações dentro do portal da Azure precisam de ter o seu acesso reconhecido e com as devidas permissões configuradas.
Para isso, é necessário registrar a aplicação terceira através do Registro de Aplicativos (App registrations)
.
Ao salvar esse novo registro, será necessário adicionar a credencial para o Azure DevOps ter acesso ao mesmo.
Observação importante: ao salvar a nova credencial, é importante salvar o valor da chave da secret, pois ele é exibido somente no momento de criação.
Após os passaos anteriores, é necessário adicionar as permissões necessárias para que o Azure DevOps consiga ler os dados da subscription e também realizar as operações nos recursos pertencentes a essa subscription (fazer deploy de um WebApp por exemplo).
Para isso, vamos associar, através do Access control (IAM)
, as permissões para o Registro de aplicativo
criando anteriormente: azure-devops-1
No contexto de realizar o deploy de um Web App utilizando o Azure DevOps Pipeline, será necessário duas permissões específicas:
- Microsoft.Resources/subscriptions/read
- Microsoft.Web/sites/config/list/action
Observação: para criar um Web App para container, basta mudar a opção Publish
para Container
O Azure Devops contém uma sessão que é específica para definir as conexões de serviços que serão utilizadas durante o processo de execução das pipelines para permitir acesso a alguns recursos do portal e também acesso a modificação do Web App selecionado. Em alguns casos, as conexões relacionadas a Azure podem ser identificadas automaticamente através do e-mail utilizado no Azure DevOps. No entanto, para este exemplo, foi configurado manualmente uma conexão com o objetivo de simular o acesso a uma conta Azure que não esteja vinculada diretamente ao e-mail do DevOps.
-
Para o campo
Service Principal Id
, será o ID doRegistro de Aplicativo
. -
Para o campo
Service principal key
, será o valor da chave da secret criada para oRegistro de Aplicativo
(lembrando que esse valor fica disponível somente após finalizar a criação da secret) -
Para o campo
Tenant ID
, será o ID do seu diretório. Esse ID pode ser obtido pesquisando porTenant properties
na barra de pesquisa.
Finalizando todos os processos acima, a conexão de serviço ficará disponível para ser utilizada nas pipelines do Azure DevOps. No exemplo deste repositório, a conexão foi utilizada para realizar o deploy de um WebApp via código e um WebApp via container. Para o WebApp via container, foi adicionada uma nova conexão de serviço referente ao Docker Hub.