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 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 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
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 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. 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:
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 "Restringir o 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 código do Terraform e exportar para seu 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 seu 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 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.
Confira seu 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 seu 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 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.
Confira seu repositório para verificar se o aplicativo foi exportado com sucesso.
A seguir
Visão geral do Terraform no Google Cloud