Se l'istanza Secure Source Manager non è ancora stata creata, consulta Creare un'istanza Secure Source Manager per iniziare.
Prima di iniziare
- Crea un'istanza Secure Source Manager o richiedi l'accesso a una. Per saperne di più, consulta Creare un'istanza Secure Source Manager.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Installa il componente
betadi Google Cloud CLI:gcloud components install alpha
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un repository, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Ruolo Creatore repository di istanze Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator) nell'istanza Secure Source Manager - Ruolo Creatore repository Secure Source Manager (
roles/securesourcemanager.repoCreator) nel progetto dell'istanza
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per informazioni sulla concessione dei ruoli Secure Source Manager, consulta Controllo dell'accesso con IAM e Concedere agli utenti l'accesso all'istanza.
Crea un repository
Interfaccia web
-
Per accedere all'istanza Secure Source Manager tramite la sua interfaccia web, copia il seguente URL nella barra degli indirizzi del browser.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devSostituisci quanto segue:
- INSTANCE_ID con il nome dell'istanza.
- PROJECT_NUMBER con il numero di progetto dell'istanza. Google CloudPer informazioni sull'identificazione dei progetti, consulta Identificare i progetti.
- LOCATION con la regione dell'istanza.
Se necessario, esegui l'autenticazione utilizzando le credenziali di Secure Source Manager.
Fai clic sull'icona + Crea nuovo repository in alto a destra nel menu di navigazione.
Inserisci i dettagli del repository:
ID repository: inserisci un nome per il repository.
Descrizione: facoltativa. Descrizione del repository.
Branch predefinito: nome del branch predefinito.
Inizializza repository: facoltativa. Seleziona questa opzione se vuoi inizializzare il repository e aggiungere i file .gitignore, license e README.
.gitignore: facoltativa. Scegli i file da non monitorare utilizzando i modelli del menu a discesa.
license: facoltativa. Seleziona una licenza comune dal menu a discesa.
Fai clic su Crea repository.
gcloud
Crea un repository utilizzando gcloud CLI eseguendo il seguente comando:
gcloud source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=READMESostituisci quanto segue:
REPOSITORY_IDcon il nome del repository.LOCATIONcon la regione in cui vuoi creare il repository. Per informazioni sulle località supportate, consulta Località.PROJECT_IDcon l'ID progetto dell'istanza Secure Source Manager in cui vuoi creare il repository.INSTANCE_IDcon l'ID istanza dell'istanza in cui stai creando il repository. Per elencare le istanze Secure Source Manager nel tuo progetto, consulta Elencare e visualizzare le istanze.DESCRIPTIONcon una descrizione del repository. Questo campo è facoltativo e può essere omesso.BRANCHcon il nome del branch predefinito. Questo campo è facoltativo e può essere omesso. Se non è impostato, il nome del branch predefinito èmain.GITIGNOREScon un elenco separato da virgole di nomi di modelli gitignore. Questo campo è facoltativo e può essere omesso. Per visualizzare l'elenco completo dei modelli disponibili, consulta la guida di riferimento alla configurazione dell'inizializzazione del repository.LICENSEcon il nome del modello di licenza da applicare al repository. Questo campo è facoltativo e può essere omesso. Per visualizzare l'elenco completo dei modelli di licenza disponibili, consulta la guida di riferimento alla configurazione dell'inizializzazione del repository.READMEcondefaultper creare un file README dal modello predefinito. Questo campo è facoltativo e può essere omesso. Se omesso, non verrà creato un file README.
API
Crea un repository utilizzando una chiamata REST eseguendo il seguente comando:
curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \ -d '{"instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}'Sostituisci quanto segue:
REGIONè la regione dell'istanza Secure Source Manager. Per informazioni sulle località supportate, consulta Località.INSTANCE_IDè l'ID istanza Secure Source Manager.PROJECT_IDè l'ID progetto dell'istanza Secure Source Manager. Per informazioni su dove trovare l'ID progetto, consulta Identificare i progetti.REPOSITORY_IDè il nome del repository.
È possibile specificare valori aggiuntivi utilizzando il flag dei dati HTTP POST,
Google Cloud Devono includere solo lettere minuscole, numeri o trattini, devono iniziare con una lettera e non possono essere modificati dopo la creazione del repository.-d'{}'inclusa l'inizializzazione del repository, l'aggiunta di un file specifico.gitignoreo di licenze. Per saperne di più, consulta la documentazione di riferimento.Se vuoi che l'output sia leggibile, puoi inviarlo tramite pipe a JSON utilizzando
json_pp.Ad esempio:
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \ -d '{"instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "initialConfig":{"defaultBranch":"main"}}' | json_ppLa risposta sarà simile alla seguente:
{ "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-08-04T14:02:59.810496928Z", "endTime": "2022-08-04T14:03:00.558354528Z", "target": "projects/654987321654/locations/us-central1/repositories/my-repo", "verb": "create", "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository", "name": "projects/my-project-id/locations/us-central1/repositories/my-repo", "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance", "createTime": "2022-08-04T14:03:00Z", "uris": { "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo", "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git" } }Dove:
654987321654è il numero di progetto del repository.my-project-idè l'ID progetto del repository.my-repoè ilREPOSITORY_IDche hai impostato nel comando create. Il campouriscontiene gli URL per accedere al repository tramite il browser web o tramite l'accesso HTTPS al protocollo Git.
Accedi al nuovo repository con l'URI HTML nella risposta. La revisione del codice, il monitoraggio dei problemi e le richieste di pull sono supportati nell'interfaccia web di Secure Source Manager.
Il repository viene creato nell'istanza Secure Source Manager.
Il ruolo Amministratore repository (roles/securesourcemanager.repoAdmin) ti viene concesso quando crei un nuovo repository. La propagazione della nuova autorizzazione IAM potrebbe richiedere fino a 2 minuti, quindi se ricevi un errore di autorizzazione quando provi ad accedere al repository dopo la creazione, attendi qualche minuto e riprova.
I repository che hai creato sono elencati nell'interfaccia web di Secure Source Manager nella pagina I miei repository.
Passaggi successivi
- Concedere agli utenti l'accesso al repository
- Utilizzare la gestione del codice sorgente Git con Secure Source Manager.
- Elencare e visualizzare i repository nell'interfaccia web di Secure Source Manager.