Puedes configurar las variables de entorno que se establecen durante la compilación de la imagen de contenedor.
También puedes personalizar la imagen de contenedor mediante la extensión de la compilación y ejecución de imágenes.
Compilaciones locales
Para las compilaciones locales, debes tener instaladas la CLI de Pack y Docker.
Antes de comenzar
- Instala la edición de la comunidad de Docker (CE) en tu estación de trabajo.
pack
usa Docker como un compilador de imágenes de OCI. - Instala la CLI de Pack.
- Instala la herramienta de control de fuente Git para obtener la aplicación de muestra de GitHub.
Configure las variables de entorno
A fin de configurar variables de entorno para compilaciones locales, debes agregar la marca --env
al comando pack
de cada variable de entorno.
Puedes usar una o más de las variables de entorno que es compatible con el entorno de ejecución.
pack build SERVICE_NAME \
--env ENVIRONMENT_VARIABLE
Reemplaza lo siguiente:
SERVICE_NAME
por el nombre del servicio de la aplicación o funciónENVIRONMENT_VARIABLE
por la variable de entorno que deseas configurar durante el tiempo de compilación.
- Ejemplo
Para configurar la variable de entorno
GOOGLE_ENTRYPOINT="gunicorn -p :8080 main:app"
en la imagen de contenedor, ejecuta el siguiente comando:pack build my-app \ --builder gcr.io/buildpacks/builder:v1 \ --env GOOGLE_ENTRYPOINT="gunicorn -p :8080 main:app" --env MY-LOCAL-ENV-VARIABLE
Compilaciones remotas
Para establecer variables de entorno para compilaciones remotas, usa el descriptor de proyecto project.toml
.
Cloud Build usa el descriptor del proyecto project.toml
cuando se compila la imagen de contenedor.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud Build and Artifact Registry.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud Build and Artifact Registry.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
- Asegúrate de que tu proyecto de Google Cloud tenga acceso a un repositorio de imágenes de contenedor.
Para configurar el acceso a un repositorio de Docker en Artifact Registry, haz lo siguiente:
- Crea un nuevo repositorio de Docker en la misma ubicación de tu proyecto de Google Cloud.
gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION"
Reemplaza lo siguiente:REPO_NAME
por el nombre que elijas para el repositorio de Docker.REGION
por la ubicación en la ubicación de tu proyecto de Google Cloud o más cercana a ella.DESCRIPTION
por una descripción que elijas.
Por ejemplo, para crear un repositorio de
docker
enus-west2
con la descripción “Repositorio de Docker”, ejecuta lo siguiente:gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
- Verifica que se haya creado el repositorio:
gcloud artifacts repositories list
Deberías ver el nombre que elijas para tu repositorio de Docker en la lista.
- Crea un nuevo repositorio de Docker en la misma ubicación de tu proyecto de Google Cloud.
Opcional: descargar una aplicación de muestra
- Clona el repositorio de muestra en tu máquina local:
git clone https://github.com/GoogleCloudPlatform/buildpack-samples.git
- Ve al directorio que contiene el código de muestra de la aplicación:
Go
cd buildpack-samples/sample-go
Java
cd buildpack-samples/sample-java-gradle
Node.js
cd buildpack-samples/sample-node
PHP
cd buildpack-samples/sample-php
Python
cd buildpack-samples/sample-python
Ruby
cd buildpack-samples/sample-ruby
.NET
cd buildpack-samples/sample-dotnet
Compila la aplicación con variables de entorno
- En el directorio raíz de tu servicio, crea o actualiza el descriptor de proyectos
project.toml
para incluir la sección[[build.env]]
y cualquiera de las variables de entorno compatible:[[build.env]] name = "ENVIRONMENT_VARIABLE_NAME" value = "ENVIRONMENT_VARIABLE_VALUE"
Reemplaza lo siguiente:
ENVIRONMENT_VARIABLE_NAME
por el nombre de una variable de entorno compatible.ENVIRONMENT_VARIABLE_VALUE
por el valor correspondiente para la variable de entorno especificada.
Ejemplo
[[build.env]] name = "GOOGLE_ENTRYPOINT" value = "gunicorn -p :8080 main:app"
- Usa
gcloud
para enviar el código fuente de la aplicación a Cloud Build:gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME
Reemplaza lo siguiente:
LOCATION
por el nombre de región de tu repositorio de contenedores. Ejemplo:us-west2-docker.pkg.dev
PROJECT_ID
por el ID del proyecto de Google Cloud.REPO_NAME
por el nombre de tu repositorio de Docker.IMAGE_NAME
por el nombre de la imagen de contenedor
Ejemplos: Si descargaste una aplicación de muestra, ejecuta el comando correspondiente:
Go
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-go
Java
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-java-gradle
Node.js
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-node
PHP
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-php
Python
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-python
Ruby
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-ruby
.NET
gcloud builds submit --pack image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/sample-dotnet
-
Verifica que la aplicación de muestra se haya publicado de forma correcta en
REPO_NAME
:gcloud artifacts docker images list LOCATION-docker.pkg.dev/project-id/REPO_NAME
Reemplaza lo siguiente:
LOCATION
por el nombre de la región de tu repositorio de contenedores. Ejemplo:us-west2-docker.pkg.dev
PROJECT_ID
por el ID del proyecto de Google Cloud.REPO_NAME
por el nombre de tu repositorio de Docker.