Scarica ed esegui il deployment di Terraform

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 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

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) o
Editor 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

  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 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

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

    Vai a Applicazioni

  2. Fai clic sul Nome applicazione che vuoi esportare.

  3. 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:

  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, tra cui:

    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 del 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 del 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 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

  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 del 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 del 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 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

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

Passaggi successivi