Usando 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 acolher repositórios para gráficos Helm (pré-visualização), um formato de embalagem para implementar aplicações para Kubernetes. Você pode usar webhooks para desencadear eventos quando certas ações ocorrem em um dos seus repositórios de registo. Os webhooks podem responder a eventos ao nível do registo, ou podem ser examinados até uma etiqueta de repositório específica. Com um registo geo-replicado , configura cada webhook para responder a eventos numa réplica regional específica.

O ponto final de um webhook deve ser acessível ao público a partir do registo. Pode configurar pedidos de webhook de registo para autenticar para um ponto final seguro.

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

Pré-requisitos

Criar webhook - portal do Azure

  1. Inicie sessão no portal do Azure.
  2. Navegue para o registo do contentor no qual pretende criar um webhook.
  3. Em Serviços, selecione Webhooks.
  4. Selecione Adicione na barra de ferramentas webhook.
  5. Preencha o formulário Criar webhook com as seguintes informações:
Valor Descrição
Nome Webhook O nome que quer dar ao webhook. Pode conter apenas letras e números, e deve ter 5-50 caracteres de comprimento.
Localização Para um registo geo-replicado , especifique a região de Azure da réplica do registo.
Serviço URI O URI onde o webhook deve enviar notificações POST.
Cabeçalhos personalizados Cabeçalhos que pretende passar junto com o pedido DOM. Devem estar no formato "chave: valor".
Desencadear ações Ações que despoletam o webhook. As ações incluem impulso de imagem, exclusão de imagem, push de gráfico de helm, eliminação de gráfico de leme e quarentena de imagem. Pode escolher uma ou mais ações para desencadear o webhook.
Estado O estado para o webhook depois de ser criado. É ativado por defeito.
Âmbito O âmbito em que funciona o webhook. Se não for especificado, o âmbito é para todos os eventos do registo. Pode ser especificado para um repositório ou uma etiqueta utilizando o formato "repositório:tag", ou "repositório:*" para todas as tags sob um repositório.

Exemplo webhook formulário:

Screenshot que mostra a criação de webhook U I no portal do Azure.

Criar webhook - Azure CLI

Para criar um webhook utilizando o Azure CLI, utilize o comando az acr webhook . O seguinte comando cria um webhook para todos os eventos de eliminação de imagem no meu registo de registo:

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

Webhook de teste

Portal do Azure

Antes de utilizar o webhook, pode testá-lo com o botão Ping . Ping envia um pedido de CORREIO genérico para o ponto final especificado e regista a resposta. A utilização da função ping pode ajudá-lo a verificar se configura 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 STATUS HTTP .

UI de criação de webhook ACR no portal do Azure

CLI do Azure

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

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

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

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

Apagar webhook

Portal do Azure

Cada webhook pode ser eliminado selecionando 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 webhook

Para obter mais informações sobre o formato e as propriedades das cargas do evento JSON emitidas por Azure Container Registry, consulte a referência de esquema webhook:

referência de Azure Container Registry webhook

Eventos grid

Além dos eventos de webhook de registo nativo discutidos neste artigo, Azure Container Registry podem emitir eventos para a Grade de Eventos:

Quickstart: Enviar eventos de registo de contentores para a Grade de Eventos