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: Es el código de infraestructura que incluye un módulo para cada componente de la plantilla.outputs.tf: Expone información sobre los componentes de infraestructura que se implementan.variables.tf: Declara el nombre, el tipo y la descripción de las variables que se usan en el archivomain.tf.input.tfvars: Define valores para 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 Descripción general de Terraform enGoogle Cloud.
Si no tienes tus propias herramientas y flujos de trabajo de implementación, consulta Implementa una aplicación desde la consola deGoogle Cloud .
Antes de comenzar
Pídele a tu administrador que te otorgue uno de los siguientes roles en la carpeta habilitada para la app o en el proyecto de administración:
- Administrador de aplicaciones (
roles/designcenter.applicationAdmin) - Editor de aplicaciones (
roles/designcenter.applicationEditor)
Exporta código de Terraform
Si deseas 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.
Exporta de forma local
Puedes exportar el código de Terraform generado a partir de una plantilla o una aplicación.
Plantilla
En la consola de Google Cloud , ve a la página Plantillas.
Haz clic en el ID de plantilla que deseas exportar.
Haz clic en Obtener código.
El sistema descargará un archivo ZIP en tu computadora local. Puedes implementar la aplicación con tus propias herramientas y flujos de trabajo de implementación.
Aplicación
En la consola de Google Cloud , ve a la página Aplicaciones.
Haz clic en el Nombre de la aplicación que deseas exportar.
Haz clic en Obtener código.
El sistema descargará un archivo ZIP en tu computadora local. Puedes implementar la aplicación con tus propias herramientas y flujos de trabajo de implementación.
Exporta a tu repositorio
Para mantener tus plantillas a través de tu repositorio de administració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 versión existentes.
- Activa compilaciones, pruebas e implementaciones con tu propia canalización de CI/CD.
Conéctate a tu repositorio
Para crear una conexión de Developer Connect entre tu repositorio de GitHub y tu proyecto de administración, haz lo siguiente:
Cambia la política de tu organización para agregar los siguientes servicios a tu lista de entidades permitidas:
developerconnect.googleapis.comsecretmanager.googleapis.com
Para conocer los pasos para cambiar tu política de la organización, consulta Cómo usar la restricción de uso restringido de recursos del servicio.
Crea una conexión de Developer Connect a tu repositorio de GitHub, que incluya lo siguiente:
- Selecciona Habilitar residencia de datos.
- Vincula el repositorio en el que deseas exportar tu aplicación.
Para conocer los pasos para crear una conexión y vincular un repositorio, consulta Conecta GitHub.
Para copiar el URI del repositorio, haz lo siguiente:
- Abre la página Repositorios de Git de Developer Connect.
- En la tabla Repositories, haz clic en More Options y selecciona Copy resource path.
Generar y exportar
Para generar código de Terraform y exportarlo a tu repositorio de GitHub, haz lo siguiente:
Plantilla
Identifica el ID de tu espacio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONReemplaza lo siguiente:
PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu ubicación.
Identifica el ID de la plantilla que deseas exportar.
gcloud design-center spaces application-templates list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONReemplaza lo siguiente:
SPACE: Es el ID de tu espacio.PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu 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_BRANCHReemplaza lo siguiente:
APPLICATION_TEMPLATE: Es el ID de la plantilla que deseas exportar.SPACE: Es el ID de tu espacio.PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu ubicación.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Es el directorio relativo a tu repositorio de GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Es 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 haya exportado correctamente.
Aplicación
Identifica el ID de tu espacio.
gcloud design-center spaces list \ --project=PROJECT \ --location=LOCATIONReemplaza lo siguiente:
PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu ubicación.
Identifica el ID de la aplicación que deseas exportar.
gcloud design-center spaces applications list \ --space=SPACE \ --project=PROJECT \ --location=LOCATIONReemplaza lo siguiente:
SPACE: Es el ID de tu espacio.PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu 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_BRANCHReemplaza lo siguiente:
APPLICATION: Es el ID de la aplicación que deseas exportar.SPACE: Es el ID de tu espacio.PROJECT: Es el ID de tu proyecto de administración.LOCATION: Es el ID de tu ubicación.DEVELOPER_CONNECT_EXPORT_CONFIG_DIR: Es el directorio relativo a tu repositorio de GitHub.DEVELOPER_CONNECT_EXPORT_CONFIG_BRANCH: Es 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 haya exportado correctamente.
¿Qué sigue?
Descripción general de Terraform en Google Cloud