Nesta página, descrevemos como configurar o Cloud Build para armazenar artefatos criados em um repositório do Artifact Registry.
Antes de começar
- Se não existir um repositório de destino, crie um novo repositório.
- A conta de serviço padrão do Cloud Build tem permissões para fazer upload e download de repositórios no mesmo projeto. Se o Cloud Build estiver em um projeto diferente dos seus repositórios, será preciso conceder permissões à conta de serviço do Cloud Build no projeto com os repositórios.
Como configurar uma versão do Docker
Depois de conceder permissões ao repositório de destino, você estará pronto para configurar o Docker para autenticar e enviar um pacote ao repositório. Recomendamos usar a conta de serviço do Cloud Build.
Para configurar o Docker:
Configure a autenticação do Docker.
No seu arquivo de configuração da versão, adicione a etapa para criar e enviar as imagens.
O exemplo a seguir usa os seguintes valores para uma imagem que está no mesmo diretório que o arquivo de configuração da versão:
- O local do repositório
us-central1
- O ID do projeto da versão, resolvido com a
substituição padrão
$PROJECT_ID
- O nome do repositório
my-repo
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}', '.' ] images: - 'us-central1-docker.pkg.dev/$PROJECT_ID/${_REPOSITORY}/${_IMAGE}'
As variáveis
${_REPOSITORY}
e${_IMAGE}
são usadas como o nome do repositório e o da imagem no repositório para que possam ser substituídas no momento da criação por meio de substituições personalizadas do Cloud Build.Essa abordagem é útil se você quiser usar o mesmo arquivo de configuração de versão para enviar imagens a repositórios de ambientes diferentes, como teste, preparo ou produção.
Por exemplo, este comando substitui
my-repo
pelo nome do repositório emy-image
pelo nome da imagem.gcloud builds submit --config=cloudbuild.yaml \ --substitutions=_REPOSITORY="my-repo",_IMAGE="my-image" .
- O local do repositório
Como configurar uma versão do Maven
Depois de conceder permissões ao repositório de destino, você estará pronto para configurar o Maven para autenticar e enviar um pacote ao repositório. Recomendamos usar a conta de serviço do Cloud Build.
Para configurar o Maven:
Configure a autenticação para Maven. Certifique-se de especificar o projeto de destino e o repositório corretos no arquivo
pom.xml
.No arquivo de configuração de versão do Cloud Build, adicione a etapa para fazer upload do pacote com o Maven:
steps: - name: gcr.io/cloud-builders/mvn args: ['deploy']
Como configurar uma versão do npm
Depois de conceder permissões ao repositório de destino, você estará pronto para xconfigurar o npm para autenticar e enviar um pacote para o repositório. Recomendamos a integração usando a conta de serviço do Cloud Build.
Para configurar o NPM:
Configure a autenticação para o npm. Especifique o projeto de destino e o repositório corretos no arquivo
.npmrc
.Coloque o arquivo
.npmrc
no mesmo diretório do arquivo de configuração da versão do Cloud Build para que o Cloud Build possa encontrar suas configurações de autenticação.No arquivo de configuração da versão, adicione a etapa para fazer upload do pacote para o repositório.
steps: - name: gcr.io/cloud-builders/npm args: ['publish', ${_PACKAGE}]
A variável
${_PACKAGE}
representa o pacote. Substitua essa substituição personalizada do Cloud Build no momento da compilação pelo local do pacote, pela pasta ou um arquivo tarball compactado com gzip que contémpackage.json
e os outros arquivos em seu pacote.Por exemplo, este comando faz upload de um pacote em um diretório chamado
src
que está no mesmo diretório que o arquivo.npmrc
e o arquivo de configuração da criação.gcloud builds submit --config=cloudbuild.yaml --substitutions=_PACKAGE="src" .