Esta página explica como gerenciar módulos Go empacotados armazenados no o Artifact Registry.
Antes de começar
- Se não existir um repositório de destino, crie um novo repositório. Escolher Go como formato de repositório.
- Verifique se você tem as permissões necessárias para o repositório.
- (Opcional) Configure padrões para comandos gcloud.
- Instalar Ir versão 1.15 ou mais recente.
Instale o complemento package-go-module da CLI gcloud:
gcloud components install package-go-module
Configure o Go para autenticar com o Artifact Registry.
Papéis necessários
Para receber as permissões necessárias para gerenciar módulos, peça ao administrador para conceder a você os seguintes papéis do IAM no repositório:
-
Ver módulos:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Faça o download ou instale módulos:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Adicione módulos a um repositório:
Gravador do Artifact Registry (
roles/artifactregistry.writer
) -
Excluir módulos:
Administrador de repositórios do Artifact Registry (
roles/artifactregistry.repoAdmin
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Fazer upload de um módulo
Modos de repositório: padrão
Para empacotar e fazer upload de um módulo para seu repositório, execute o seguinte comando:
gcloud artifacts go upload --project=PROJECT \ --repository=REPOSITORY \ --location=LOCATION \ --module-path=MODULE_PATH \ --version=VERSION \ --source=SOURCE_LOCATION
Substitua:
- PROJECT pelo ID de projeto do Google Cloud;
- REPOSITORY pelo nome do repositório em que o é armazenado.
- LOCATION com o modelo regional ou multirregional local do repositório.
- MODULE_PATH pelo caminho do módulo. Por exemplo:
example.com/foo
Consulte a Referência dos módulos Go para mais informações. - VERSION com o
versão semântica
do módulo no formato
vX.Y.Z
, em queX
é a versão principal,Y
é a versão secundária eZ
é a versão de patch. - SOURCE_LOCATION pelo caminho para o diretório raiz do Go.
mais tarde neste módulo. Se você omitir a flag
--source
, o padrão será o diretório atual.
O upload do módulo é feito no Artifact Registry.
Para mais informações sobre como criar módulos Go, consulte este tutorial.
Fazer upload de uma nova versão do módulo
Modos de repositório: padrão
Para fazer upload de uma nova versão do seu módulo para o projeto, repositório e Local em que os valores padrão são configurados execute o seguinte comando com o novo número da versão:
gcloud artifacts go upload \ --module-path=MODULE_PATH \ --version=VERSION \ --source=SOURCE_LOCATION
Substitua VERSION pela versão do módulo atualizado. Por exemplo:
para fazer upload da versão 0.1.1
de um módulo com o caminho example.com/foo
, execute o
seguinte comando:
gcloud artifacts go upload \ --module-path=example.com/foo \ --version=v0.1.1 \ --source=SOURCE_LOCATION
Para marcar um módulo como uma versão de pré-lançamento, adicione um traço após o VERSION e anexe os identificadores de pré-lançamento do módulo:
gcloud artifacts go upload \ --module-path=MODULE_PATH \ --version=VERSION-PRE_RELEASE_IDENTIFIERS \ --source=SOURCE_LOCATION
Substitua PRE_RELEASE_IDENTIFIERS por caracteres alfanuméricos ASCII separados por ponto
caracteres e hifens. Por exemplo, para fazer upload do pré-lançamento de um módulo com
no módulo do caminho example.com/foo
identificado por alpha.x.12m.5
, execute o
seguinte comando:
gcloud artifacts go upload \ --module-path=example.com/foo \ --version=v1.0.0-alpha.x.12m.5 \ --source=SOURCE_LOCATION
Enviar uma nova versão principal
Modos de repositório: padrão
As versões principais não são compatíveis com as versões anteriores. Para evitar
usuários de importar uma alteração interruptiva, as versões principais após v1
devem ter
caminhos de módulo diferentes dos das versões anteriores. A partir de v2
, as principais
version é adicionada ao final do caminho do módulo.
Por exemplo, o caminho do módulo para v2.0.0
de example.com/foo
seria
example.com/foo/v2
A prática recomendada é desenvolver versões principais após v1
em
diretórios separados nomeados com base no sufixo da versão principal.
Para fazer upload de uma nova versão principal 2.0.0
de um módulo com o caminho
example.com/foo
para o projeto, repositório e local padrão quando o
valores padrão são configurados:
gcloud artifacts go upload --module-path=example.com/foo/v2 --version=v2.0.0
Listar módulos
Modos de repositório: padrão
Execute o comando a seguir para inspecionar um módulo Go enviado na classe projeto, repositório e local em que valores padrão são configurados:
gcloud artifacts packages list
A saída será semelhante a esta:
Listing items under project my-project, location us-west1, repository my-repo. PACKAGE CREATE_TIME UPDATE_TIME example.com/foo 2022-06-03T20:43:39 2022-06-20T20:37:40
Mais detalhes da versão do módulo
Modos de repositório: padrão
Execute o comando a seguir para exibir as versões de um módulo na classe projeto, repositório e local em que valores padrão são configurados:
gcloud artifacts versions list --package=MODULE_PATH
A saída será semelhante a esta:
Listing items under project my-project, location us-west1, repository my-repo, package example.com/foo. VERSION DESCRIPTION CREATE_TIME UPDATE_TIME v0.1.0 2022-06-03T20:43:39 2022-06-03T20:43:39 v0.1.1 2022-06-20T20:37:40 2022-06-20T20:37:40
Usar um módulo como dependência
Modos de repositório: padrão
Para importar módulos armazenados no Artifact Registry, é necessário instruir o Go to procure dependências do Artifact Registry e ignore a soma de verificação. no seu banco de dados. Siga as instruções para configurar a autenticação e o Go em Configurar a autenticação para Go.
Se você estiver usando credenciais de curta duração para autenticação para o Artifact Registry, atualize seu token OAuth executando o seguinte comando:
GOPROXY=proxy.golang.org \ go run github.com/GoogleCloudPlatform/artifact-registry-go-tools/cmd/auth@latest refresh
Se o módulo ainda não tiver um arquivo
go.mod
, mude os diretórios para da pasta do seu módulo e executego mod init
para criar um arquivogo.mod
para seu pacote.go mod init MODULE_PATH
Substitua MODULE_PATH pelo caminho do módulo armazenado em o Artifact Registry. Consulte a Referência dos módulos Go para mais informações.
Para exigir a versão do módulo armazenada no Artifact Registry, edite seu arquivo
go.mod
se parecer com o seguinte:module example.com/bar go 1.19 require example.com/foo v0.1.0
Substitua:
example.com/foo
é o caminho do módulo obrigatório.v0.1.0
é a versão armazenada no Artifact Registry.
Inclua o caminho do módulo como de costume na seção
import
domain.go
. .Por exemplo, para importar um módulo com o caminho
example.com/foo
armazenado em Artifact Registry, a seção de importação poderá ser parecida com esta:package main import ( foo "example.com/foo" ) func main() { ... }
Execute
go mod tidy
para fazer o download de dependências:go mod tidy
Execute o módulo normalmente:
go run .
O módulo armazenado no Artifact Registry é baixado e usado como um .
Excluir módulos Go empacotados
Modos de repositório: padrão
É possível excluir um pacote e todas as versões dele ou excluir uma versão específica.
- Depois de excluir um pacote, não é possível desfazer a ação.
Antes de excluir uma versão de pacote ou um pacote, verifique se você comunicou ou resolveu qualquer dependência importante nele.
Para excluir um pacote:
Console
Abra a página Repositórios no console do Google Cloud.
Na lista de repositórios, clique no repositório apropriado.
A página Pacotes lista os pacotes no repositório.
Selecione o pacote que você quer excluir.
Clique em EXCLUIR.
Na caixa de diálogo de confirmação, clique em Excluir.
gcloud
Execute este comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Onde
- PACKAGE é o nome do pacote no repositório.
- REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
- LOCATION é um regional ou multirregional local. Use esta sinalização para ver repositórios em um local específico. Se você configurado um local padrão, é possível omitir essa sinalização para padrão.
--async
Retorna imediatamente, sem aguardar a conclusão da operação em andamento.
Para excluir versões de um pacote:
Console
Abra a página Repositórios no console do Google Cloud.
Na lista de repositórios, clique no repositório apropriado.
A página Pacotes lista os pacotes no repositório.
Clique em um pacote para visualizar as versões dele.
Selecione as versões que você quer excluir.
Clique em EXCLUIR.
Na caixa de diálogo de confirmação, clique em Excluir.
gcloud
Execute este comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Onde
- PACKAGE é o nome do pacote no repositório.
- REPOSITORY é o nome do repositório. Se você tiver configurado um repositório padrão, você pode omitir essa sinalização para usar o padrão.
- LOCATION é um regional ou multirregional local. Use esta sinalização para ver repositórios em um local específico. Se você configurado um local padrão, é possível omitir essa sinalização para padrão.
--async
retorna imediatamente, sem aguardar a conclusão da operação em andamento.
A seguir
- Veja o Guia de início rápido do Go.
- Fazer o download de arquivos individuais associadas a um módulo ou versão sem usar comandos Go.