Este tópico descreve como criar um repositório de imagens, configurar regras de build e gerar imagens usando uma instância Personal Edition.
Observações de uso
O tempo limite para build de imagens em uma instância Personal Edition é de 30 minutos. Se você precisar de recursos avançados, como configurações flexíveis de build, parâmetros personalizados e builds multiarquitetura, recomendamos usar uma instância Enterprise Edition. Para mais informações, consulte Criar imagens usando uma instância Enterprise Edition.
Antes de criar imagens com uma instância Personal Edition, verifique se a imagem base no seu Dockerfile atende aos seguintes requisitos:
Use qualquer imagem pública que não exija autorização.
Use imagens privadas da mesma conta e na mesma região da instância Personal Edition.
Não use imagens privadas de outras regiões.
Não use imagens VPC de nenhuma região.
Não use imagens licenciadas de terceiros.
Por exemplo, a imagem base no seu Dockerfile pode ser uma imagem pública, mas não pode ser uma imagem licenciada de terceiros.
Recursos
Para usar o recurso de build, vincule um repositório de código-fonte à sua instância Personal Edition. Você pode fazer isso após criar a instância.
-
Builds automatizados mediante alterações no código
Ao ativar a opção Automatically Build Images When Code Changes, o Container Registry cria uma imagem automaticamente a cada commit de código. Isso elimina a necessidade de builds manuais.
Acesse o 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 na instância Personal Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Repositories, localize o repositório desejado e clique em Manage na coluna Actions.
No painel de navegação à esquerda, clique em Build e ative a chave Automatically Build Images When Code Changes.
As configurações de build também incluem as chaves Overseas build e Build without cache, ambas desativadas por padrão.
-
Build no exterior
Durante o processo de build, seu código pode depender de fontes fora da China continental. Para esse cenário, o Container Registry oferece o recurso Build with Servers Deployed Outside Chinese Mainland. Após a conclusão do build em uma máquina no exterior, a imagem é enviada ao repositório na região especificada.
NotaConexões de rede instáveis entre locais no exterior e a China continental podem causar timeout e falha no envio da imagem.
-
Build sem cache
Se você ativar a opção Build Without Cache, o processo de build baixará a imagem base todas as vezes, ignorando quaisquer camadas em cache. Isso pode aumentar o tempo de build; portanto, recomendamos manter essa opção desativada.
-
Build multiestágio
O Container Registry também suporta builds multiestágio.
Etapa 1: Vincular uma fonte de código
Esta seção usa o GitHub como exemplo para demonstrar a vinculação de uma fonte de código. Para obter informações sobre como vincular outras fontes de código, consulte Conectar-se a uma plataforma de hospedagem de código-fonte.
Para acessar uma instância privada do GitLab em uma VPC, consulte Criar imagens de contêiner com o modo de build seguro VPC.
Acesse o 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 na instância Personal Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Code Source, localize o GitHub e clique em Bind Account na coluna Actions.
Na caixa de diálogo GitHub, clique em Go to the source code repository to bind account.
-
Na página do GitHub, insira seu nome de usuário e senha e clique em Sign in.
Você será redirecionado para o console do Container Registry e a mensagem You have successfully bound the GitHub account aparecerá.
Etapa 2: Criar um repositório de imagens
Antes de criar um repositório de imagens, crie um namespace na região desejada. Para mais informações, consulte Gerenciar namespaces.
Acesse o 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 na instância Personal Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Repositories, clique em Create Repository.
-
Na etapa Repository Info do assistente, configure Namespace, Repository Name, Summary e Repository Type. Neste exemplo, selecione Private para o tipo de repositório. Em seguida, clique em Next.
NotaO recurso de build de imagens não é suportado para repositórios locais.
-
Na etapa Code Source do assistente, configure Code Source, Build Settings e Build Rules e clique em Create Repository.
Parâmetro
Descrição
Code Source
Selecione uma fonte de código. Este exemplo utiliza o GitHub. Clique em GitHub e selecione um namespace e um repositório.
Build Settings
-
Criação automática de imagens mediante alterações no código: aciona a regra de build quando você faz commit de código em uma branch.
-
Build no exterior: cria imagens em um data center fora da China continental e as envia para a região especificada. Se sua tarefa de build envolver recursos na China continental, como o repositório de código-fonte e o repositório de imagens, recomendamos desativar a opção Build with Servers Deployed Outside Chinese Mainland e usar um servidor de build localizado na China continental.
-
Build sem cache: força o novo download das imagens de dependência base para cada build, o que pode aumentar o tempo de build. Desativar a opção Build Without Cache acelera a criação de imagens.
-
Etapa 3: Definir regras de build
Se a opção Build não estiver visível na página de gerenciamento do seu repositório de imagens, a fonte de código não foi vinculada corretamente. Consulte a Etapa 1 para vinculá-la novamente.
Acesse o 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 na instância Personal Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Repositories, localize o repositório desejado e clique em Manage na coluna Actions.
-
No painel de navegação à esquerda, clique em Build. Na seção Build Rules, clique em Add Build Rule.
NotaPara modificar uma regra de build, localize a regra desejada e clique em Modify na coluna Actions.
-
Na caixa de diálogo Add Build Rule, defina os parâmetros da regra de build e clique em Confirm.
Parâmetro
Descrição
Type
O tipo de fonte para o build. Valores válidos: Branch e Tag.
Branch/Tag
A branch ou tag de código a ser usada no build.
Build Context Directory
O caminho do diretório que contém o Dockerfile, relativo à raiz da branch ou tag especificada. Por exemplo, se o seu Dockerfile estiver no diretório raiz da branch master, defina este parâmetro como
./.Dockerfile Filename
O nome do arquivo Dockerfile. O valor padrão é
Dockerfile.Image Version
A tag para a imagem criada, como
latest.
Etapa 4: Fazer build de uma imagem
Acesse o 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 na instância Personal Edition que deseja gerenciar.
No painel de navegação à esquerda, escolha .
Na página Repositories, localize o repositório desejado e clique em Manage na coluna Actions.
No painel de navegação à esquerda, clique em Build.
-
Na seção Build Rules, localize a regra desejada e clique em Build na coluna Actions.
Quando o build for concluído, um novo registro de build será gerado.
NotaPara visualizar os logs de build, clique em Log na coluna Actions do registro de build.
Após a conclusão do build, clique em Image Version no painel de navegação à esquerda para visualizar as imagens criadas.
Para visualizar todas as imagens, clique em Build no painel de navegação à esquerda. Em Build Settings, ative as opções Build with Servers Deployed Outside Chinese Mainland e Build Without Cache. A opção Automatically Build Images When Code Changes vem ativada por padrão. Em seguida, clique em Image Version no painel de navegação à esquerda para visualizar todas as tags de imagem.