Utilizar webhooks Azure Container Registry

Os registos de contentores do Azure armazenam e gerem imagens de contentores do Docker privadas, de forma semelhante a como o Docker Hub armazena imagens do Docker públicas. Também pode alojar repositórios para gráficos Helm (pré-visualização), um formato de empacotamento para implementar aplicações no Kubernetes. Pode utilizar webhooks para acionar eventos quando determinadas ações ocorrem num dos seus repositórios de registo. Os webhooks podem responder a eventos ao nível do registo ou podem ser limitados a uma etiqueta de repositório específica. Com um registo georreplicado , configura cada webhook para responder a eventos numa réplica regional específica.

O ponto final de um webhook tem de estar acessível publicamente a partir do registo. Pode configurar pedidos de webhook de registo para autenticar num ponto final seguro.

Para obter detalhes sobre pedidos de webhook, veja Azure Container Registry referência de esquema de webhook.

Pré-requisitos

Criar webhook - portal do Azure

  1. Inicie sessão no Portal do Azure.
  2. Navegue para o registo de contentor no qual pretende criar um webhook.
  3. Em Serviços, selecione Webhooks.
  4. Selecione Adicionar na barra de ferramentas do webhook.
  5. Preencha o formulário Criar webhook com as seguintes informações:
Valor Descrição
Nome do webhook O nome que pretende dar ao webhook. Pode conter apenas letras e números e tem de ter entre 5 e 50 carateres.
Localização Para um registo georreplicado , especifique a região do Azure da réplica do registo.
URI do Serviço O URI onde o webhook deve enviar notificações POST.
Cabeçalhos personalizados Cabeçalhos que pretende transmitir juntamente com o pedido POST. Devem estar no formato "chave: valor".
Acionar ações Ações que acionam o webhook. As ações incluem push de imagem, eliminação de imagem, push de gráfico Helm, eliminação de gráfico Helm e quarentena de imagem. Pode escolher uma ou mais ações para acionar o webhook.
Estado O estado do webhook depois de ser criado. Está ativado por predefinição.
Âmbito O âmbito no qual o webhook funciona. Se não for especificado, o âmbito destina-se a todos os eventos no registo. Pode ser especificado para um repositório ou uma etiqueta com o formato "repositório:tag" ou "repositório:*" para todas as etiquetas num repositório.

Formulário de webhook de exemplo:

Captura de ecrã que mostra a IU de criação do webhook do ACR no portal do Azure.

Criar webhook - CLI do Azure

Para criar um webhook com a CLI do Azure, utilize o comando az acr webhook create . O comando seguinte cria um webhook para todos os eventos de eliminação de imagens no registo mycontainerregistry:

az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com

Testar webhook

Portal do Azure

Antes de utilizar o webhook, pode testá-lo com o botão Ping . O Ping envia um pedido POST genérico para o ponto final especificado e regista a resposta. A utilização da funcionalidade ping pode ajudá-lo a verificar se configurou corretamente o webhook.

  1. Selecione o webhook que pretende testar.
  2. Na barra de ferramentas superior, selecione Ping.
  3. Verifique a resposta do ponto final na coluna ESTADO DE HTTP .

IU de criação de webhooks do ACR no portal do Azure

CLI do Azure

Para testar um webhook do ACR com a CLI do Azure, utilize o comando az acr webhook ping .

az acr webhook ping --registry mycontainerregistry --name myacrwebhook01

Para ver os resultados, utilize o comando az acr webhook list-events .

az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01

Eliminar webhook

Portal do Azure

Cada webhook pode ser eliminado ao selecionar o webhook e, em seguida, o botão Eliminar no portal do Azure.

CLI do Azure

az acr webhook delete --registry mycontainerregistry --name myacrwebhook01

Passos seguintes

Referência de esquema de webhook

Para obter detalhes sobre o formato e as propriedades dos payloads de eventos JSON emitidos por Azure Container Registry, veja a referência de esquema do webhook:

Azure Container Registry referência de esquema de webhook

Eventos do Event Grid

Além dos eventos nativos do webhook de registo abordados neste artigo, Azure Container Registry podem emitir eventos para o Event Grid:

Início Rápido: Enviar eventos do registo de contentor para o Event Grid