Se você tiver suas próprias ferramentas e fluxos de trabalho de implantação, poderá fazer o download de 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 os componentes de infraestrutura que são implantados.variables.tf: declara o nome, o tipo e a descrição das variáveis usadas no arquivomain.tf.input.tfvars: define valores para variáveis usadas no arquivomain.tf.providers.tf: Define rótulos que ajudam o Terraform a interagir com Google Cloud APIs e recursos.
Para informações contextuais, consulte Visão geral do Terraform no Google Cloud.
Se você não tiver suas próprias ferramentas e fluxos de trabalho de implantação, consulte Implantar um aplicativo no Google Cloud console.
Antes de começar
Para realizar as tarefas neste documento, peça ao administrador para conceder a você os papéis necessários na pasta ativada para apps ou no projeto de gerenciamento, conforme listado na tabela a seguir:
| Tarefa | Funções exigidas |
|---|---|
| Exportar o código do Terraform gerado localmente ou para um repositório de controle de origem | Administrador de aplicativos (roles/designcenter.applicationAdmin) ouEditor de aplicativos ( roles/designcenter.applicationEditor) |
Para mais informações sobre papéis, consulte Controle de acesso com o IAM.
Exportar código do Terraform
Se você quiser manter seus modelos e aplicativos fora do Google Cloud, poderá gerar o Terraform e exportar para sua máquina local ou para o repositório de código.
Exportar localmente
É possível exportar o código do Terraform gerado a partir de um modelo ou de um aplicativo.
Modelo
No Google Cloud console, acesse a página Modelos.
Clique no ID do modelo que você quer exportar.
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
No Google Cloud console, acesse a página Aplicativos.
Clique no Nome do aplicativo que você quer exportar.
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.
Exportar para o repositório
Para manter seus modelos no repositório de gerenciamento de código-fonte, é possível exportar modelos e aplicativos para o GitHub. Em seguida, use seus fluxos de trabalho de controle de versão atuais e 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 o repositório do GitHub e o projeto de gerenciamento, faça o seguinte:
Mude a política da organização para adicionar os seguintes serviços à lista de permissões:
developerconnect.googleapis.com.secretmanager.googleapis.com.
Para conferir as etapas de mudança da política da organização, consulte Usar a restrição de uso do serviço de recursos.
Crie uma conexão do Developer Connect com o repositório do GitHub, incluindo o seguinte:
- Selecione Ativar residência de dados.
- Vincule o repositório em que você quer exportar o aplicativo.
Para conferir as etapas de criação de uma conexão e vinculação de um repositório, consulte Conectar o GitHub.
Para copiar o URI do repositório, faça o seguinte:
- Abra a página Repositórios Git do Developer Connect.
- Na tabela Repositórios, clique em Mais opções e selecione Copiar caminho do recurso.
Gerar e exportar
Para gerar o código do Terraform e exportar para o repositório do GitHub, faça o seguinte:
Modelo
Identifique o ID do espaço.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONSubstitua:
PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.
Identifique o ID do modelo que você quer exportar.
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONSubstitua:
SPACE: o ID do espaço.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.
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_BRANCHSubstitua:
APPLICATION_TEMPLATE: o ID do modelo que você quer exportar.SPACE: o ID do espaço.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: o diretório relativo ao repositório do GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: a ramificação no repositório do GitHub.
Para mais informações, consulte gcloud design-center spaces application-templates generate
Acesse o repositório para verificar se o modelo foi exportado.
Aplicativo
Identifique o ID do espaço.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONSubstitua:
PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.
Identifique o ID do aplicativo que você quer exportar.
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONSubstitua:
SPACE: o ID do espaço.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.
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_BRANCHSubstitua:
APPLICATION: o ID do aplicativo que você quer exportar.SPACE: o ID do espaço.PROJECT: o ID do projeto de gerenciamento.LOCATION: o ID do local.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: o diretório relativo ao repositório do GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: a ramificação no repositório do GitHub.
Para mais informações, consulte gcloud design-center spaces applications generate
Acesse o repositório para verificar se o aplicativo foi exportado.
A seguir
- Comece a usar arquiteturas pré-configuradas criando modelos do Google.
- Defina suas próprias configurações criando modelos de aplicativos.
- Saiba como usar o Terraform no Google Cloud com a visão geral do Terraform Google Cloud .