El entorno de ejecución de Go

Descripción general

El entorno de ejecución de Go en el entorno flexible es la pila de software encargada de compilar y ejecutar tu código.

Para elegir el entorno de ejecución de Go en el entorno flexible, agrega dos líneas al archivo app.yaml.

runtime: go
env: flex

Los entornos de ejecución en el entorno flexible se compilan mediante Docker. El código fuente para el entorno de ejecución de Go está disponible en GitHub.

Versiones de Go

El entorno de ejecución de Go es compatible con estas versiones:

  • 1.15
  • 1.14
  • 1.13
  • 1.12
  • 1.11
  • 1.10
  • 1.9

Se usa la última versión estable de la versión que elijas. Una vez implementada la app, App Engine realiza actualizaciones automáticas a versiones de actualización nuevas, pero no actualiza la versión secundaria de forma automática.

Por ejemplo, la aplicación podría implementarse en Go 1.14.10 y, luego, actualizarse de forma automática a Go 1.14.11, pero no se actualizará a Go 1.15.0 de manera automática.

Importa paquetes

El código se compila cuando implementas tu app en App Engine. Cuando ejecutas el comando de implementación, las dependencias de la aplicación primero se recopilan desde el GOPATH local y, luego, se envían al servidor de compilación. Cualquier dependencia que falte, por ejemplo, bibliotecas de terceros, dará como resultado fallas de compilación.

Para evitar fallas de compilación y asegurarte de que todas las dependencias de la aplicación se implementen con el código, debes probar la aplicación localmente antes de implementarla.

Extiende el entorno de ejecución

Si deseas obtener instrucciones para extender y personalizar el entorno de ejecución de Go, lee sobre el compilador del entorno de ejecución de Go en GitHub.

Servidor de metadatos

Cada instancia de tu aplicación puede usar el servidor de metadatos de Compute Engine para consultar información acerca de la instancia, incluidos el nombre del host, la dirección IP externa, el ID de la instancia, los metadatos personalizados y la información de la cuenta de servicio. App Engine no te permite establecer metadatos personalizados para cada instancia; sin embargo, puedes definir metadatos personalizados de todo el proyecto y leerlos desde las instancias de App Engine y Compute Engine.

Usa el paquete cloud.google.com/go/compute/metadata para acceder al servidor de metadatos.