O Application Design Center permite gerar e exportar o código do Terraform para seus modelos e aplicativos para uma máquina local ou um repositório do GitHub.
Ao exportar o código do Terraform, é possível manter e implantar aplicativos com suas próprias ferramentas de CI/CD. Os arquivos exportados do Terraform registram automaticamente seu aplicativo no App Hub para ativar o monitoramento de ambiente de execução no Security Command Center. Os aplicativos implantados externamente são tratados como aplicativos não gerenciados. Para usar os recursos gerenciados do Google Cloud centrado em aplicativos, como avaliações de segurança em tempo de design e rastreamento de descobertas de segurança até a origem, implante um aplicativo usando o App Design Center.
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 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 APIs e recursos do Google Cloud .
Para mais informações, consulte Visão geral do Terraform no Google Cloud.
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 habilitada 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, 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
No console do Google Cloud , 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 console do Google Cloud , 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 seu repositório
Para manter os modelos pelo repositório de gerenciamento de código-fonte, é possível exportar modelos e aplicativos para o GitHub. Em seguida, use os fluxos de trabalho de controle de versões existentes 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 saber como mudar a política da organização, consulte Como usar a restrição de uso do serviço de recursos.
Crie uma conexão do Developer Connect com seu 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 saber como criar uma conexão e vincular 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 seu 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 com sucesso.
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 seu 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.
Confira seu repositório para verificar se o aplicativo foi exportado com sucesso.
A seguir
- Comece a usar arquiteturas pré-configuradas criando com base em modelos do Google.
- Defina suas próprias configurações criando modelos de aplicativo.
- Saiba como usar o Terraform no Google Cloud com a visão geral do Terraform no Google Cloud .