Fazer o download e implantar o Terraform

Se você tiver suas próprias ferramentas e fluxos de trabalho de implantação, poderá baixar modelos ou aplicativos como arquivos do Terraform.

O sistema gera os seguintes arquivos do Terraform:

  • main.tf: código de infraestrutura que inclui um módulo para cada componente no modelo.
  • outputs.tf: expõe informações sobre componentes de infraestrutura implantados.
  • variables.tf: declara nome, tipo e descrição para variáveis usadas no arquivo main.tf.
  • input.tfvars: define valores para variáveis usadas no arquivo main.tf.
  • providers.tf: define rótulos que ajudam o Terraform a interagir com APIs e recursos do Google Cloud .

Para mais informações contextuais, consulte Visão geral do Terraform em Google Cloud.

Se você não tiver suas próprias ferramentas e fluxos de trabalho de implantação, consulte Implantar um aplicativo do consoleGoogle Cloud .

Antes de começar

Peça ao administrador para conceder a você um dos seguintes papéis na pasta ou no projeto de gerenciamento ativado para apps:

  • Administrador de aplicativos (roles/designcenter.applicationAdmin).
  • Editor de aplicativos (roles/designcenter.applicationEditor).

Exportar código do Terraform

Se quiser manter seus modelos e aplicativos fora do Google Cloud, gere o Terraform e exporte para sua máquina local ou para seu repositório de código.

Exportar localmente

É possível exportar o código do Terraform gerado de um modelo ou de um aplicativo.

Modelo

  1. No console do Google Cloud , acesse a página Modelos.

    Acessar "Modelos"

  2. Clique no ID do modelo que você quer exportar.

  3. Clique em Receber código.

    O sistema faz o download de um arquivo ZIP para o computador local. É possível implantar o aplicativo usando suas próprias ferramentas e fluxos de trabalho de implantação.

Aplicativo

  1. No console Google Cloud , acesse a página Aplicativos.

    Acesse Aplicativos

  2. Clique no Nome do aplicativo que você quer exportar.

  3. Clique em Receber código.

    O sistema faz o download de um arquivo ZIP para o computador local. Você pode implantar o aplicativo usando suas próprias ferramentas e fluxos de trabalho de implantação.

Exportar para seu repositório

Para manter seus modelos no repositório de gerenciamento de código-fonte, você pode exportar modelos e aplicativos para o GitHub. Por exemplo, você pode exportar para fazer o seguinte:

  • Use seus fluxos de trabalho de controle de versão atuais.
  • Acione builds, testes e implantações usando seu próprio pipeline de CI/CD.

Conectar ao repositório

Para criar uma conexão do Developer Connect entre seu repositório do GitHub e seu projeto de gerenciamento, faça o seguinte:

  1. Mude a política da organização para adicionar os seguintes serviços à lista de permissões:

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

    Para saber como mudar a política da organização, consulte Como usar a restrição "Restringir o uso do serviço de recursos".

  2. Crie uma conexão do Developer Connect com seu repositório do GitHub, incluindo o seguinte:

    1. Selecione Ativar residência de dados.
    2. Vincule o repositório em que você quer exportar o aplicativo.

    Para saber como criar uma conexão e vincular um repositório, consulte Conectar o GitHub.

  3. Para copiar o URI do repositório, faça o seguinte:

    1. Abra a página Repositórios Git do Developer Connect.
    2. Na tabela Repositórios, clique em Mais opções e selecione Copiar caminho do recurso.

Gerar e exportar

Para gerar código do Terraform e exportar para seu repositório do GitHub, faça o seguinte:

Modelo

  1. Identifique o ID do espaço.

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

    Substitua:

    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
  2. Identifique o ID do modelo que você quer exportar.

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

    Substitua:

    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
  3. Gere o código do Terraform do modelo e exporte para o 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
    

    Substitua:

    • APPLICATION_TEMPLATE: o ID do modelo que você quer exportar.
    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: o diretório relativo ao seu repositório do GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: a ramificação no seu repositório do GitHub.

    Para mais informações, consulte gcloud design-center spaces application-templates generate.

  4. Confira seu repositório para verificar se o modelo foi exportado com sucesso.

Aplicativo

  1. Identifique o ID do espaço.

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

    Substitua:

    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
  2. Identifique o ID do aplicativo que você quer exportar.

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

    Substitua:

    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
  3. Gere o código do Terraform do aplicativo e exporte para o 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
    

    Substitua:

    • APPLICATION: o ID do aplicativo que você quer exportar.
    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do projeto de gerenciamento.
    • LOCATION: o ID do local.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: o diretório relativo ao seu repositório do GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: a ramificação no seu repositório do GitHub.

    Para mais informações, consulte gcloud design-center spaces applications generate.

  4. Confira seu repositório para verificar se o aplicativo foi exportado com sucesso.

A seguir

Visão geral do Terraform no Google Cloud