Transfira e implemente o Terraform

Se tiver as suas próprias ferramentas e fluxos de trabalho de implementação, pode transferir modelos ou aplicações como ficheiros Terraform.

O sistema gera os seguintes ficheiros 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 implementados.
  • variables.tf: declara o nome, o tipo e a descrição das variáveis usadas no ficheiro main.tf.
  • input.tfvars: define valores para variáveis usadas no ficheiro main.tf.
  • providers.tf: define etiquetas que ajudam o Terraform a interagir com as Google Cloud APIs e os recursos.

Para informações gerais, consulte o artigo Vista geral do Terraform no Google Cloud.

Se não tiver as suas próprias ferramentas e fluxos de trabalho de implementação, consulte o artigo Implemente uma aplicação a partir da Google Cloud consola.

Antes de começar

Peça ao administrador para lhe conceder uma das seguintes funções na pasta ou no projeto de gestão com apps ativadas:

  • Administrador da aplicação (roles/designcenter.applicationAdmin).
  • Editor de aplicações (roles/designcenter.applicationEditor).

Exporte código Terraform

Se quiser manter os seus modelos e aplicações fora do Google Cloud, pode gerar o Terraform e exportá-lo para o seu computador local ou para o seu repositório de código.

Exporte localmente

Pode exportar código Terraform gerado a partir de um modelo ou de uma aplicação.

Modelo

  1. Na Google Cloud consola, aceda à página Modelos.

    Aceder a Modelos

  2. Clique no ID do modelo que quer exportar.

  3. Clique em Obter código.

    O sistema transfere um ficheiro ZIP para o seu computador local. Pode implementar a aplicação através das suas próprias ferramentas e fluxos de trabalho de implementação.

Aplicação

  1. Na Google Cloud consola, aceda à página Aplicações.

    Aceda a Aplicações

  2. Clique no Nome da aplicação que quer exportar.

  3. Clique em Obter código.

    O sistema transfere um ficheiro ZIP para o seu computador local. Pode implementar a aplicação através das suas próprias ferramentas e fluxos de trabalho de implementação.

Exporte para o seu repositório

Para manter os seus modelos através do repositório de gestão de código fonte, pode exportar modelos e aplicações para o GitHub. Por exemplo, pode exportar para fazer o seguinte:

  • Use os seus fluxos de trabalho de controlo de versões existentes.
  • Acione criações, testes e implementações através da sua própria pipeline de CI/CD.

Associe ao seu repositório

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

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

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

    Para ver os passos para alterar a política da sua organização, consulte o artigo Usar a restrição de utilização do serviço de recursos.

  2. Crie uma associação do Developer Connect ao seu repositório do GitHub, incluindo o seguinte:

    1. Selecione Ativar residência de dados.
    2. Associe o repositório para o qual quer exportar a sua aplicação.

    Para ver os passos para criar uma associação e associar um repositório, consulte o artigo Associar 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.

Gere e exporte

Para gerar código Terraform e exportá-lo para o seu repositório GitHub, faça o seguinte:

Modelo

  1. Identifique o ID do espaço.

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

    Substitua o seguinte:

    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
  2. Identifique o ID do modelo que quer exportar

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

    Substitua o seguinte:

    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
  3. Gere o código Terraform do seu modelo e exporte-o 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 o seguinte:

    • APPLICATION_TEMPLATE: o ID do modelo que quer exportar.
    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: O diretório relativo ao seu repositório do GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: O ramo no seu repositório do GitHub.

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

  4. Veja o seu repositório para verificar se o modelo foi exportado com êxito.

Aplicação

  1. Identifique o ID do espaço.

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

    Substitua o seguinte:

    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
  2. Identifique o ID da aplicação que quer exportar.

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

    Substitua o seguinte:

    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
  3. Gere o código Terraform da sua aplicação e exporte-o 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 o seguinte:

    • APPLICATION: o ID da aplicação que quer exportar.
    • SPACE: o ID do seu espaço.
    • PROJECT: o ID do seu projeto de gestão.
    • LOCATION: o ID da sua localização.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: O diretório relativo ao seu repositório do GitHub.
    • DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: O ramo no seu repositório do GitHub.

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

  4. Veja o seu repositório para verificar se a aplicação foi exportada com êxito.

O que se segue?

Vista geral do Terraform no Google Cloud