Scarica ed esegui il deployment di Terraform

Se hai i tuoi strumenti e flussi di lavoro di deployment, puoi scaricare i modelli o le 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 il nome, il tipo e la descrizione delle variabili utilizzate nel file main.tf.
  • input.tfvars: definisce i valori delle variabili utilizzate nel file main.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

Chiedi all'amministratore di concederti uno dei seguenti ruoli nella cartella o nel progetto di gestione abilitato per l'app:

  • Amministratore dell'applicazione (roles/designcenter.applicationAdmin).
  • Editor dell'applicazione (roles/designcenter.applicationEditor).

Esportare il codice Terraform

Se vuoi gestire i modelli e le applicazioni al di fuori di Google Cloud, puoi generare Terraform ed esportarlo sulla tua macchina locale o nel repository di codice.

Esportare localmente

Puoi esportare il codice Terraform generato da un modello o da un'applicazione.

Modello

  1. Nella Google Cloud console, vai alla pagina Modelli.

    Vai ai Modelli

  2. Fai clic sull'ID modello che vuoi esportare.

  3. Fai clic su Ottieni 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

  1. Nella Google Cloud console, vai alla pagina Applicazioni.

    Vai a Applicazioni

  2. Fai clic sul Nome dell'applicazione che vuoi esportare.

  3. Fai clic su Ottieni 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. Ad esempio, potresti esportare per eseguire le seguenti operazioni:

  • Utilizzare i flussi di lavoro di controllo della versione esistenti.
  • 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:

  1. Modifica la policy dell'organizzazione per aggiungere i seguenti servizi alla lista consentita:

    1. developerconnect.googleapis.com.
    2. secretmanager.googleapis.com.

    Per i passaggi per modificare la policy dell'organizzazione, vedi Utilizzare il vincolo Limita utilizzo servizi delle risorse.

  2. Crea una connessione Developer Connect al repository GitHub, inclusi i seguenti elementi:

    1. Seleziona Abilita la residenza dei dati.
    2. Collega il repository in cui vuoi esportare l'applicazione.

    Per i passaggi per creare una connessione e collegare un repository, vedi Connettere GitHub.

  3. Per copiare l'URI del repository:

    1. Apri la pagina Repository Git di Developer Connect.
    2. 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

  1. Identifica l'ID spazio.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • PROJECT: l'ID progetto di gestione.
    • LOCATION: ID località.
  2. Identifica l'ID modello del modello che vuoi esportare.

    gcloud design-center spaces application-templates list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • SPACE: l'ID spazio.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: ID località.
  3. 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_BRANCH
    

    Sostituisci quanto segue:

    • APPLICATION_TEMPLATE: l'ID modello del modello che vuoi esportare.
    • SPACE: l'ID spazio.
    • PROJECT: l'ID 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

  4. Visualizza il repository per verificare che il modello sia stato esportato correttamente.

Applicazione

  1. Identifica l'ID spazio.

    gcloud design-center spaces list \
        --project=PROJECT \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • PROJECT: l'ID progetto di gestione.
    • LOCATION: ID località.
  2. Identifica l'ID applicazione dell'applicazione che vuoi esportare.

    gcloud design-center spaces applications list \
        --space=SPACE \
        --project=PROJECT \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • SPACE: l'ID spazio.
    • PROJECT: l'ID progetto di gestione.
    • LOCATION: ID località.
  3. 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_BRANCH
    

    Sostituisci quanto segue:

    • APPLICATION: l'ID applicazione dell'applicazione che vuoi esportare.
    • SPACE: l'ID spazio.
    • PROJECT: l'ID 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

  4. Visualizza il repository per verificare che l'applicazione sia stata esportata correttamente.

Passaggi successivi

Panoramica di Terraform su Google Cloud