Questa pagina spiega come gestire i moduli Go in pacchetto archiviati Artifact Registry.
Prima di iniziare
- Se il repository di destinazione non esiste, per creare un nuovo repository. Scegli Come formato di repository.
- Verifica di disporre delle autorizzazioni necessarie per il repository.
- (Facoltativo) Configura i valori predefiniti per i comandi gcloud.
- Installa Vai 1.15 o versioni successive.
Installa il componente aggiuntivo gcloud CLI package-go-module:
gcloud components install package-go-module
Configura Go per autenticare con Artifact Registry.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i moduli, chiedi all'amministratore di concederti seguenti ruoli IAM sul repository:
-
Visualizza i moduli:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Scarica o installa moduli:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Aggiungi moduli a un repository:
Writer Artifact Registry (
roles/artifactregistry.writer
) -
Elimina moduli:
Amministratore repository Artifact Registry (
roles/artifactregistry.repoAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Carica un modulo
Modalità repository: standard
Per pacchettizzare e caricare un modulo nel tuo repository, esegui questo comando:
gcloud artifacts go upload --project=PROJECT \ --repository=REPOSITORY \ --location=LOCATION \ --module-path=MODULE_PATH \ --version=VERSION \ --source=SOURCE_LOCATION
Sostituisci quanto segue:
- PROJECT con Google Cloud ID progetto.
- REPOSITORY con il nome del repository in cui quando viene archiviato un pacchetto.
- LOCATION con una o più regioni località del repository.
- MODULE_PATH con il percorso del modulo. Ad esempio:
example.com/foo
Consulta le Riferimento ai moduli Go per ulteriori informazioni. - VERSION con
versione semantica
del modulo nel formato
vX.Y.Z
, doveX
è la versione principale,Y
è la eZ
è la versione patch. - SOURCE_LOCATION con il percorso della directory root di Go
in maggior dettaglio più avanti
in questo modulo. Se ometti il flag
--source
, il valore predefinito è la directory attuale.
Il modulo viene caricato in Artifact Registry.
Per ulteriori informazioni sulla creazione di moduli Go, consulta questo tutorial.
Carica una nuova versione del modulo
Modalità repository: standard
Per caricare una nuova versione del modulo nel progetto, nel repository e posizione quando vengono configurati i valori predefiniti, esegui questo comando con il nuovo numero di versione:
gcloud artifacts go upload \ --module-path=MODULE_PATH \ --version=VERSION \ --source=SOURCE_LOCATION
Sostituisci VERSION con la versione del modulo aggiornato. Ad esempio:
per caricare la versione 0.1.1
di un modulo con il percorso example.com/foo
, esegui
seguente comando:
gcloud artifacts go upload \ --module-path=example.com/foo \ --version=v0.1.1 \ --source=SOURCE_LOCATION
Per contrassegnare un modulo come versione pre-release, aggiungi un trattino dopo il VERSION e aggiungi gli identificatori pre-release del modulo:
gcloud artifacts go upload \ --module-path=MODULE_PATH \ --version=VERSION-PRE_RELEASE_IDENTIFIERS \ --source=SOURCE_LOCATION
Sostituisci PRE_RELEASE_IDENTIFIERS con caratteri ASCII alfanumerici separati da punti
caratteri e trattini. Ad esempio, per caricare la pre-release di un modulo con
il modulo del percorso example.com/foo
identificato da alpha.x.12m.5
, esegui
seguente comando:
gcloud artifacts go upload \ --module-path=example.com/foo \ --version=v1.0.0-alpha.x.12m.5 \ --source=SOURCE_LOCATION
Carica una nuova versione principale
Modalità repository: standard
Le versioni principali non sono compatibili con le versioni precedenti. Per evitare
di importare una modifica che provoca un errore, le versioni principali successive al giorno v1
devono avere
percorsi di moduli diversi rispetto alle versioni precedenti. A partire da v2
, la principale
viene aggiunta alla fine del percorso del modulo.
Ad esempio, il percorso del modulo per v2.0.0
di example.com/foo
sarebbe
example.com/foo/v2
.
La best practice consigliata è sviluppare versioni principali dopo il giorno v1
in
separate denominate in base al suffisso della versione principale.
Per caricare una nuova versione principale 2.0.0
di un modulo con il percorso
example.com/foo
al progetto, al repository e alla località predefiniti quando
sono configurati i valori predefiniti:
gcloud artifacts go upload --module-path=example.com/foo/v2 --version=v2.0.0
Elenco moduli
Modalità repository: standard
Esegui questo comando per ispezionare un modulo Go caricato progetto, repository e località i valori predefiniti sono configurati:
gcloud artifacts packages list
L'output sarà simile al seguente:
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
Visualizza i dettagli della versione del modulo
Modalità repository: standard
Esegui questo comando per visualizzare le versioni di un modulo nel progetto, repository e località i valori predefiniti sono configurati:
gcloud artifacts versions list --package=MODULE_PATH
L'output sarà simile al seguente:
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
Utilizza un modulo come dipendenza
Modalità repository: standard
Per importare i moduli archiviati in Artifact Registry, devi indicare Vai a cerca le dipendenze di Artifact Registry e ignora il checksum per configurare un database. Segui le istruzioni per configurare l'autenticazione e il pulsante Go in Configurare l'autenticazione per Go.
Se utilizzi credenziali di breve durata per l'autenticazione ad Artifact Registry, devi aggiornare il token OAuth eseguendo il seguente comando:
GOPROXY=proxy.golang.org \ go run github.com/GoogleCloudPlatform/artifact-registry-go-tools/cmd/auth@latest refresh
Se il modulo non ha ancora un file
go.mod
, cambia le directory in cartella del modulo ed eseguigo mod init
per creare un filego.mod
del pacco.go mod init MODULE_PATH
Sostituisci MODULE_PATH con il percorso del modulo archiviato in Artifact Registry. Consulta le Riferimento ai moduli Go per ulteriori informazioni.
Per richiedere la versione del modulo archiviata in Artifact Registry, modifica il file
go.mod
in modo che sia simile al seguente:module example.com/bar go 1.19 require example.com/foo v0.1.0
Sostituisci quanto segue:
example.com/foo
è il percorso del modulo richiestov0.1.0
è la versione archiviata in Artifact Registry
Includi il percorso del modulo normalmente nella sezione
import
del tuomain.go
.Ad esempio, per importare un modulo con il percorso
example.com/foo
archiviato in Artifact Registry, la sezione di importazione potrebbe essere simile alla seguente:package main import ( foo "example.com/foo" ) func main() { ... }
Esegui
go mod tidy
per scaricare le dipendenze:go mod tidy
Esegui il modulo normalmente:
go run .
Il modulo archiviato in Artifact Registry viene scaricato e utilizzato come la dipendenza.
Elimina moduli Go pacchettizzati
Modalità repository: standard
Puoi eliminare un pacchetto e tutte le sue versioni oppure eliminare una versione specifica.
- L'operazione non può essere annullata dopo l'eliminazione del pacchetto.
Prima di eliminare un pacchetto o una versione del pacchetto, verifica di avere che abbia comunicato o gestito eventuali dipendenze importanti.
Per eliminare un pacchetto:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Seleziona il pacchetto da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts packages delete PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] [--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
--async
Torna immediatamente, senza attendere che l'operazione in corso venga completato.
Per eliminare versioni di un pacchetto:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository appropriato.
La pagina Pacchetti elenca i pacchetti presenti nel repository.
Fai clic su un pacchetto per visualizzare le relative versioni.
Seleziona le versioni da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Esegui questo comando:
gcloud artifacts versions delete VERSION \
--package=PACKAGE \
[--repository=REPOSITORY] [--location=LOCATION] \
[--async]
Dove
- PACKAGE è il nome del pacchetto nel repository.
- REPOSITORY è il nome del repository. Se hai configurato default, puoi omettere questo flag per utilizzare quello predefinito.
- LOCATION è un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita, puoi omettere questo flag per utilizzare per impostazione predefinita.
--async
ritorna immediatamente, senza attendere che l'operazione in corso venga completato.
Passaggi successivi
- Prova la guida rapida di Go.
- Scaricare singoli file associati a un modulo o a una versione senza utilizzare i comandi Go.