Se hai i tuoi strumenti e flussi di lavoro di deployment, puoi scaricare modelli o applicazioni come file Terraform.
Il sistema genera i seguenti file Terraform:
main.tf: codice dell'infrastruttura che include un modulo per ogni componente del modello.outputs.tf: espone informazioni sui componenti dell'infrastruttura di cui è stato eseguito il deployment.variables.tf: dichiara nome, tipo e descrizione delle variabili utilizzate nel filemain.tf.input.tfvars: definisce i valori delle variabili utilizzate nel filemain.tf.providers.tf: definisce le etichette che aiutano Terraform a interagire con Google Cloud le API e le risorse.
Per informazioni di base, vedi Panoramica di Terraform su Google Cloud.
Se non hai i tuoi strumenti e flussi di lavoro di deployment, vedi Eseguire il deployment di un' applicazione dalla Google Cloud console.
Prima di iniziare
Per eseguire le attività descritte in questo documento, chiedi all'amministratore di concederti i ruoli necessari nella cartella abilitata per le app o nel progetto di gestione, come indicato nella tabella seguente:
| Attività | Ruoli obbligatori |
|---|---|
| Esportare il codice Terraform generato localmente o in un repository di controllo del codice sorgente | Amministratore dell'applicazione (roles/designcenter.applicationAdmin) oEditor dell'applicazione ( roles/designcenter.applicationEditor) |
Per saperne di più sui ruoli, consulta Controllo dell'accesso con IAM.
Esportare il codice Terraform
Se vuoi gestire i modelli e le applicazioni al di fuori di Google Cloud, puoi generare Terraform ed esportarlo nella macchina locale o nel repository di codice.
Esportare localmente
Puoi esportare il codice Terraform generato da un modello o da un'applicazione.
Modello
Nella Google Cloud console, vai alla pagina Modelli.
Fai clic sull'ID modello che vuoi esportare.
Fai clic su Genera codice.
Il sistema scarica un file ZIP sul computer locale. Puoi eseguire il deployment dell'applicazione utilizzando i tuoi strumenti e flussi di lavoro di deployment.
Applicazione
Nella Google Cloud console, vai alla pagina Applicazioni.
Fai clic sul Nome applicazione che vuoi esportare.
Fai clic su Genera codice.
Il sistema scarica un file ZIP sul computer locale. Puoi eseguire il deployment dell'applicazione utilizzando i tuoi strumenti e flussi di lavoro di deployment.
Esportare nel repository
Per gestire i modelli tramite il repository di gestione del codice sorgente, puoi esportare modelli e applicazioni in GitHub. Puoi quindi utilizzare i flussi di lavoro di controllo della versione esistenti e attivare build, test e deployment utilizzando la tua pipeline CI/CD.
Connettersi al repository
Per creare una connessione Developer Connect tra il repository GitHub e il progetto di gestione:
Modifica la policy dell'organizzazione per aggiungere i seguenti servizi alla lista consentita:
developerconnect.googleapis.com.secretmanager.googleapis.com.
Per i passaggi per modificare la policy dell'organizzazione, vedi Utilizzare il vincolo Limita utilizzo servizi delle risorse.
Crea una connessione Developer Connect al repository GitHub, tra cui:
- Seleziona Abilita la residenza dei dati.
- Collega il repository in cui vuoi esportare l'applicazione.
Per i passaggi per creare una connessione e collegare un repository, vedi Connettere GitHub.
Per copiare l'URI del repository:
- Apri la pagina Repository Git di Developer Connect.
- Nella tabella Repository, fai clic su Altre opzioni e seleziona Copia percorso risorsa.
Generare ed esportare
Per generare il codice Terraform ed esportarlo nel repository GitHub:
Modello
Identifica l'ID spazio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONSostituisci quanto segue:
Identifica l'ID modello del modello che vuoi esportare.
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONSostituisci quanto segue:
Genera il codice Terraform del modello ed esportalo in GitHub.
gcloud design-center spaces application-templates generate APPLICATION_TEMPLATE \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCHSostituisci quanto segue:
APPLICATION_TEMPLATE: l'ID modello del modello che vuoi esportare.SPACE: l'ID spazio.PROJECT: l'ID del progetto di gestione .LOCATION: ID località.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: la directory relativa al repository GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: il ramo nel repository GitHub.
Per saperne di più, vedi gcloud design-center spaces application-templates generate
Visualizza il repository per verificare che il modello sia stato esportato correttamente.
Applicazione
Identifica l'ID spazio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONSostituisci quanto segue:
Identifica l'ID applicazione dell'applicazione che vuoi esportare.
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONSostituisci quanto segue:
Genera il codice Terraform dell'applicazione ed esportalo in GitHub.
gcloud design-center spaces applications generate APPLICATION \ --space=SPACE \ --project=PROJECT \ --location=LOCATION \ --developer-connect-export-config-repo-uri=DEVELOPER_CONNECT_EXPORT_CONFIG_REPO_URI \ --developer-connect-export-config-dir=DEVELOPER_CONNECT_EXPORT_CONFIG_DIR \ --developer-connect-export-config-branch=DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCHSostituisci quanto segue:
APPLICATION: l'ID applicazione dell'applicazione che vuoi esportare.SPACE: l'ID spazio.PROJECT: l'ID del progetto di gestione .LOCATION: ID località.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: la directory relativa al repository GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: il ramo nel repository GitHub.
Per saperne di più, vedi gcloud design-center spaces applications generate
Visualizza il repository per verificare che l'applicazione sia stata esportata correttamente.
Passaggi successivi
- Inizia a utilizzare le architetture preconfigurate basandoti sui modelli Google.
- Definisci le tue configurazioni progettando modelli di applicazioni.
- Scopri come utilizzare Terraform su Google Cloud con la panoramica di Terraform su Google Cloud .