Se la tua istanza Secure Source Manager non è ancora stata creata, consulta Creare un'istanza Secure Source Manager per iniziare.
Prima di iniziare
- Crea o richiedi l'accesso a un'istanza Secure Source Manager. Per ulteriori
informazioni, vedi
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 di 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 Google Cloud dell'istanza. Per informazioni sull'identificazione dei progetti, consulta Identificazione dei 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 nel menu di navigazione.
Compila i dettagli del repository:
ID repository: inserisci un nome per il repository.
Descrizione: (facoltativo) inserisci una descrizione del repository.
Branch predefinito: nome del branch predefinito.
Service account: (facoltativo) inserisci il account di servizio da associare al repository. Questo account di servizio gestito dall'utente viene utilizzato per integrazioni come Cloud Build. Per saperne di più, vedi Connettersi a Cloud Build.
Inizializza repository: (facoltativo) seleziona questa opzione se vuoi inizializzare il repository e aggiungere i file .gitignore, license e README.
.gitignore: (facoltativo) scegli quali file non monitorare utilizzando i modelli del menu a discesa.
Licenza: (facoltativo) 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=README \ --service-account=SERVICE_ACCOUNTSostituisci quanto segue:
REPOSITORY_IDcon il nome del tuo repository.LOCATIONcon la regione in cui vuoi creare il repository. Per ulteriori informazioni sulle località supportate, vedi 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 di Secure Source Manager nel tuo progetto, consulta Elencare e visualizzare le istanze.DESCRIPTIONcon una descrizione del repository. Questa opzione è facoltativa e può essere omessa.BRANCHcon il nome del ramo predefinito. Questo campo è facoltativo e può essere omesso. Se non è impostato, il nome del ramo predefinito èmain.GITIGNOREScon un elenco separato da virgole di nomi di modelli gitignore. Questa opzione è facoltativa e può essere omessa. Per visualizzare l'elenco completo dei modelli disponibili, consulta i riferimenti alla configurazione di inizializzazione del repository.LICENSEcon il nome del modello di licenza da applicare al tuo repository. Questa opzione è facoltativa e può essere omessa. Per visualizzare l'elenco completo dei modelli di licenza disponibili, consulta i riferimenti alla configurazione di inizializzazione del repository.READMEcondefaultper creare un file README dal modello predefinito. Questa opzione è facoltativa e può essere omessa. Se omesso, non verrà creato un file README.SERVICE_ACCOUNTcon l'indirizzo email del account di servizio che vuoi associare al repository. Questo campo è facoltativo e può essere omesso.
API
Crea un repository utilizzando una chiamata REST eseguendo questo 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", "serviceAccount": "SERVICE_ACCOUNT" }'Sostituisci quanto segue:
REGIONcon la regione dell'istanza Secure Source Manager. Per ulteriori informazioni sulle località supportate, vedi Località.INSTANCE_IDcon l'ID istanza Secure Source Manager.PROJECT_IDcon l'ID progetto della tua istanza di Secure Source Manager. Per maggiori informazioni su dove trovare l'ID progetto, consulta Identificazione dei progetti.REPOSITORY_IDcon il nome del repository.SERVICE_ACCOUNTcon l'indirizzo email del service account che vuoi associare al repository.
È possibile specificare valori aggiuntivi utilizzando il flag dei dati HTTP POST,
-d'{}', inclusa l'inizializzazione del repository, l'aggiunta di un file.gitignorespecifico o di licenze. Per saperne di più, consulta la documentazione di riferimento.Se vuoi che l'output sia leggibile, puoi reindirizzarlo 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", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "initialConfig": { "defaultBranch": "main" } }' | json_ppLa risposta è 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", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "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èREPOSITORY_IDche hai impostato nel comando di creazione. 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.
Quando crei un nuovo repository, ti viene concesso il ruolo Amministratore repository
(roles/securesourcemanager.repoAdmin). La nuova autorizzazione IAM
potrebbe richiedere fino a 2 minuti per la propagazione, 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.
Aggiorna un repository
Interfaccia web
- Vai alla pagina del repository nell'interfaccia web di Secure Source Manager.
- Fai clic su Impostazioni repository nel menu di navigazione.
- Nella sezione Impostazioni di base, inserisci l'indirizzo email del account di servizio nel campo Service account.
- Fai clic su Salva modifiche.
gcloud
Per aggiornare il account di servizio del repository, esegui questo comando:
gcloud source-manager repos update REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --service-account=SERVICE_ACCOUNTSostituisci quanto segue:
REPOSITORY_IDcon il nome del repository che vuoi aggiornare.LOCATIONcon la regione in cui si trova il repository.PROJECT_IDcon l'ID progetto.SERVICE_ACCOUNTcon l'indirizzo email del account di servizio che vuoi associare al repository.
API
Per aggiornare l'account di servizio del repository utilizzando una chiamata REST, esegui questo comando:
curl --request PATCH \ -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?updateMask=serviceAccount \ -d '{"serviceAccount": "SERVICE_ACCOUNT"}'Sostituisci quanto segue:
PROJECT_IDcon l'ID progetto.REGIONcon la regione.REPOSITORY_IDcon l'ID repository.SERVICE_ACCOUNTcon l'email del account di servizio.
Passaggi successivi
- Concedere agli utenti l'accesso al repository
- Utilizza la gestione del codice sorgente Git con Secure Source Manager.
- Elenca e visualizza i repository nell'interfaccia web di Secure Source Manager.