Si tienes tus propias herramientas y flujos de trabajo de implementación, puedes descargar plantillas o aplicaciones como archivos de Terraform.
El sistema genera los siguientes archivos de Terraform:
main.tf: código de infraestructura que incluye un módulo para cada componente de la plantilla.outputs.tf: expone información sobre los componentes de la infraestructura que se han implementado.variables.tf: declara el nombre, el tipo y la descripción de las variables utilizadas en el archivomain.tf.input.tfvars: define los valores de las variables que se usan en el archivomain.tf.providers.tf: define etiquetas que ayudan a Terraform a interactuar con las APIs y los recursos de Google Cloud .
Para obtener información general, consulta Información general sobre Terraform enGoogle Cloud.
Si no tienes tus propias herramientas y flujos de trabajo de implementación, consulta Implementar una aplicación desde la consola.Google Cloud
Antes de empezar
Pide a tu administrador que te conceda uno de los siguientes roles en la carpeta o el proyecto de gestión en los que esté habilitada la aplicación:
- Administrador de aplicaciones (
roles/designcenter.applicationAdmin). - Editor de aplicaciones (
roles/designcenter.applicationEditor).
Exportar código de Terraform
Si quieres mantener tus plantillas y aplicaciones fuera de Google Cloud, puedes generar Terraform y exportarlo a tu máquina local o a tu repositorio de código.
Exportar localmente
Puedes exportar el código de Terraform generado a partir de una plantilla o de una aplicación.
Template
En la Google Cloud consola, ve a la página Plantillas.
Haz clic en el ID de plantilla que quieras exportar.
Haz clic en Obtener código.
El sistema descarga un archivo ZIP en tu ordenador local. Puedes implementar la aplicación con tus propias herramientas y flujos de trabajo de implementación.
Aplicación
En la Google Cloud consola, ve a la página Aplicaciones.
Haz clic en el nombre de la aplicación que quieras exportar.
Haz clic en Obtener código.
El sistema descarga un archivo ZIP en tu ordenador local. Puedes desplegar la aplicación con tus propias herramientas y flujos de trabajo de despliegue.
Exportar a tu repositorio
Para mantener tus plantillas a través de tu repositorio de gestión de código fuente, puedes exportar plantillas y aplicaciones a GitHub. Por ejemplo, puedes exportar para hacer lo siguiente:
- Usa tus flujos de trabajo de control de versiones.
- Activa compilaciones, pruebas y despliegues con tu propio flujo de procesamiento de CI/CD.
Conectarse a un repositorio
Para crear una conexión de Developer Connect entre tu repositorio de GitHub y tu proyecto de gestión, haz lo siguiente:
Cambia la política de tu organización para añadir los siguientes servicios a tu lista de permitidos:
developerconnect.googleapis.com.secretmanager.googleapis.com.
Para saber cómo cambiar la política de tu organización, consulta el artículo Usar la restricción de uso del servicio de recursos.
Crea una conexión de Developer Connect con tu repositorio de GitHub, que incluya lo siguiente:
- Selecciona Habilitar residencia de datos.
- Vincula el repositorio al que quieras exportar tu aplicación.
Para saber cómo crear una conexión y vincular un repositorio, consulta Conectar GitHub.
Para copiar el URI del repositorio, haz lo siguiente:
- Abre la página Repositorios de Git de Developer Connect.
- En la tabla Repositorios, haga clic en Más opciones y seleccione Copiar ruta de recurso.
Generar y exportar
Para generar código de Terraform y exportarlo a tu repositorio de GitHub, haz lo siguiente:
Template
Identifica el ID de tu espacio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONHaz los cambios siguientes:
PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.
Identifica el ID de la plantilla que quieres exportar
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONHaz los cambios siguientes:
SPACE: tu ID de espacio.PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.
Genera el código de Terraform de tu plantilla y expórtalo a 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_BRANCHHaz los cambios siguientes:
APPLICATION_TEMPLATE: el ID de la plantilla que quieras exportar.SPACE: tu ID de espacio.PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: el directorio relativo a tu repositorio de GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: la rama de tu repositorio de GitHub.
Para obtener más información, consulta gcloud design-center spaces application-templates generate.
Consulta tu repositorio para verificar que la plantilla se ha exportado correctamente.
Aplicación
Identifica el ID de tu espacio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONHaz los cambios siguientes:
PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.
Identifica el ID de la aplicación que quieras exportar.
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONHaz los cambios siguientes:
SPACE: tu ID de espacio.PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.
Genera el código de Terraform de tu aplicación y expórtalo a 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_BRANCHHaz los cambios siguientes:
APPLICATION: el ID de la aplicación que quieres exportar.SPACE: tu ID de espacio.PROJECT: tu ID de proyecto de gestión.LOCATION: tu ID de ubicación.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: el directorio relativo a tu repositorio de GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: la rama de tu repositorio de GitHub.
Para obtener más información, consulta gcloud design-center spaces applications generate.
Consulta tu repositorio para verificar que la aplicación se ha exportado correctamente.
Siguientes pasos
Información general sobre Terraform en Google Cloud