O Container Registry oferece o recurso de cadeia de entrega de aplicativos nativos da cloud. Você pode simplificar tarefas como compilação de imagens, verificação de imagens, replicação global de imagens e distribuição de imagens em uma cadeia de entrega. Toda a cadeia de entrega é observável, rastreável e segura. Com uma cadeia de entrega, é possível compilar, verificar, replicar e distribuir imagens ao redor do mundo apenas enviando alterações no source. Este tópico descreve como crie uma cadeia de entrega.
Pré-requisitos
-
Uma instância do Container Registry Enterprise Edition foi criada. Para mais informações, consulte Create a Container Registry Enterprise Edition instance.
ImportanteApenas as instâncias da Advanced Edition do Container Registry Enterprise Edition suportam o recurso de cadeia de entrega de aplicativos nativos da cloud.
Um repositório de imagens e uma imagem foram criados. Para mais informações, consulte Create a repository and build images.
Etapa 1: Crie uma cadeia de entrega e configure as informações básicas
Faça login no console do Container Registry.
Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, clique em Instances.
Na página Instances, clique em uma instância Enterprise Edition que você gerencie.
No painel de navegação à esquerda da página de gerenciamento da instância, escolha .
No canto superior esquerdo da página Chain, clique em Create Delivery Chain.
-
Na página Create Delivery Chain, configure os seguintes parâmetros na seção Basic Information.
Name: o nome da cadeia de entrega.
Description: opcional. A descrição da cadeia de entrega.
Scope: selecione um namespace e um repositório de imagens nesse namespace.
All Effective: caso ative esta opção, todos os repositórios no namespace atual serão adicionados à cadeia de entrega. Se você desativar esta opção, especifique os repositórios que não deseja adicionar à cadeia de entrega.
Etapa 2: Configure as regras de compilação de imagens
Se você selecionar um repositório de imagens local, não poderá usar o recurso de compilação de imagens da cadeia de entrega.
Na área de navegação da cadeia de entrega, clique em Image Building e, em seguida, clique em Add Build Rule.
-
No assistente Build Information, configure os parâmetros e clique em Next.
Parâmetro
Descrição
Type
Especifique o tipo de repositório de source. Valores válidos: Branch e Tag.
Branch/Tag
Selecione ou insira uma branch ou uma tag. Expressões regulares são suportadas. Se você usar release-(?<imageTag>\w*) como expressão regular, o sistema compilará uma imagem V1 quando o source na branch release-v1 for atualizado. A imagem V1 é compilada em poucos minutos. Para mais informações sobre como usar expressões regulares, consulte Usar expressões regulares em grupos de captura nomeados.
NotaQuando especifique expressões regulares, as imagens só podem ser compiladas pelo sistema. Você não pode compilar imagens manualmente.
Build Context Directory
Especifique o diretório onde o Dockerfile está localizado. Você deve especifique um diretório relativo. O diretório pai é o diretório raiz da branch de source.
Dockerfile Filename
Especifique o nome do Dockerfile. O nome padrão é Dockerfile.
-
No assistente Image Version, configure os parâmetros, salve e, em seguida, clique em Save.
NotaClique em Next para adicionar mais tags de imagem. Você pode adicionar até três tags.
Parâmetro
Descrição
Add Configuration
A tag da imagem. Exemplo: latest. Ative grupos de captura nomeados. Por exemplo, caso especifique um grupo de captura nomeado para Image Version, poderá usar o conteúdo capturado.
Branch/Tag
O horário (UTC+8) em que o source é enviado. Exemplo: 20201015 ou 202010151613.
NotaEste parâmetro é opcional. Se você defina este parâmetro, apenas o sistema poderá compilar imagens. Você não pode compilar imagens manualmente.
Build Time
O número de caracteres a serem obtidos do ID de commit do source enviado mais recentemente. Por padrão, os primeiros seis caracteres são usados. Você pode ajustar o controle deslizante para alterar o número de caracteres.
NotaEste parâmetro é opcional. Se você defina este parâmetro, apenas o sistema poderá compilar imagens. Você não pode compilar imagens manualmente.
-
No assistente Commit ID, configure os parâmetros de compilação e confirme.
Parâmetro
Descrição
Build Configurations
A arquitetura para a qual você deseja compilar imagens. Selecione várias arquiteturas. Se você selecionar várias arquiteturas, várias imagens de contêiner para as arquiteturas serão compiladas para cada tag de imagem.
Confirm
Os parâmetros de tempo de execução da compilação de imagem. Cada parâmetro de compilação é um par chave-valor que diferencia maiúsculas de minúsculas. Você pode configurar no máximo 20 parâmetros de compilação.
Etapa 3: Configure a regra de bloqueio para verificação de segurança de imagens
A verificação de segurança de imagens garante a segurança das imagens quando elas são replicadas e distribuídas.
Na área de navegação da cadeia de entrega, clique em Build Architecture.
-
Na seção Build Parameters, configure a regra de bloqueio.
-
Security Engine: você pode selecionar o Security Scan ou o Node configuration.
O Security Center Scan Engine permite corrigir vulnerabilidades detectadas com um clique. O Trivy Scan Engine não suporta este recurso.
NotaSe você quiser usar o recurso de verificação de imagens do Security Center, deverá adquirir a Ultimate Edition do Security Center. Para mais informações, consulte Purchase Security Center. Se você não ative o Security Center na região atual, a opção do Security Center não será exibida no console do Container Registry.
-
Block strategy:
-
Blocking: se a regra de bloqueio for atendida, o sistema interrompe as etapas subsequentes para todas as imagens.
Defina a regra de bloqueio com base na contagem de Security Center Scan Engine e Trivy Scan Engine. Você também deve configurar as ações a serem tomadas após o bloqueio da cadeia de entrega, como exclua a imagem original ou fazer backup da imagem.
Non-blocking: o sistema prossegue com as etapas subsequentes para todas as imagens.
-
-
Etapa 4: Configure as regras de replicação de imagens
Após configurar as regras de replicação de imagens, as imagens atualizadas são replicadas automaticamente entre as instâncias do Container Registry Enterprise Edition com base nas regras.
Na área de navegação da cadeia de entrega, clique em Severity e, em seguida, clique em Vulnerability.
-
Na caixa de diálogo Trigger Synchronization, insira um nome de regra, configure a instância de destino e clique em Create Rule.
Selecione uma região e selecione uma instância existente como a instância de destino.
Se não existir uma instância de destino, clique em Create Rule. Para mais informações, consulte Create an Enterprise Edition instance.
NotaSe o acesso à Internet estiver desativado, as imagens podem ser replicadas automaticamente em diferentes regiões.
-
No assistente Next, configure os detalhes da instância de origem e clique em Create Instance.
Parâmetro
Descrição
Replication Level
Selecione o nível de replicação. Valores válidos: Namespaces e Repository.
Source Address
Selecione um namespace e o nome do repositório. Insira uma expressão regular para filtrar as tags de imagem. Por padrão, todas as tags são replicadas. Selecione um repositório de origem específico apenas se definir o Replication Information como Create Rule.
Etapa 5: Configure os gatilhos de distribuição
Você pode configurar gatilhos de distribuição para distribuir imagens automaticamente. Dessa forma, os aplicativos podem ser reimplantados automaticamente.
Na área de navegação da cadeia de entrega, clique em Replication Level e, em seguida, clique em Repository.
-
Na caixa de diálogo Trigger, configure os parâmetros e confirme.
Parâmetro
Descrição
Name
O nome do gatilho.
Trigger URL
A URL para a qual o gatilho envia notificações. Você pode obter a URL nas configurações do seu cluster do Container Service for Kubernetes (ACK).
Trigger
O método do gatilho. Valores válidos:
-
All: cada vez que uma imagem é atualizada, a distribuição da imagem é acionada.
-
By RegExp: uma expressão regular é usada para filtrar tags de imagem. A distribuição da imagem é acionada apenas se uma tag de imagem corresponder à expressão regular.
-
By Tags: as tags são usadas para filtrar imagens. A distribuição da imagem é acionada apenas se uma tag de imagem estiver na lista de tags especificada.
-
No canto inferior esquerdo da página Create, clique em Create Trigger.
Resultado
Na página Chain, visualize a cadeia de entrega criada.
Após o source ser enviado para o repositório de source ou uma imagem ser extraída, você pode fazer login na instância do Container Registry Enterprise Edition e acesse a página Record. Nesta página, visualize o status e o resultado de cada etapa na cadeia de entrega. Em seguida, você pode verificar se as imagens foram atualizadas no seu cluster ACK.