IBM Cloud Docs
Cómo trabajar con variables de entorno

Cómo trabajar con variables de entorno

Aprenda a trabajar con variables de entorno (env variables) en Code Engine. Puede configurar variables de entorno como pares clave-valor que pueden ser utilizados por su aplicación, trabajo o función.

Creación y actualización de variables de entorno

Cree y gestione variables de entorno con Code Engine.

Puede definir variables de entorno como valores literales o puede hacer referencia a un secreto o mapa de configuración existente. Code Engine utiliza variables de entorno para permitir que su trabajo, aplicación o función utilice secretos o mapas de configuración.

Creación de variables de entorno desde la consola

Cree y actualice variables de entorno con la consola Code Engine.

Puede definir variables de entorno al crear o actualizar la app, el trabajo o la función desde la consola.

Antes de empezar

  • Debe crear el proyecto y el proyecto debe estar en estado active.
  • Determine si desea crear una variable de entorno literal o crear una variable de entorno que haga referencia a un secreto o mapa de configuración existente. Si desea que la variable de entorno haga referencia completa a un secreto o mapa de configuración existente o haga referencia a claves individuales en un secreto o mapa de configuración existente, el secreto o el mapa de configuración debe existir. Consulte crear un secreto o crear un mapa de configuración para definir el secreto o mapa de configuración antes de continuar.
  1. Para abrir el diálogo para definir la variable de entorno en la página Añadir variable de entorno, complete una de las opciones siguientes.

    • Si está creando una app, en la página Crear aplicación, expanda la sección Variables de entorno (opcional). Puede añadir una o más variables de entorno a la app que está creando. Pulse Añadir para abrir la página Añadir variable de entorno.
    • Si está creando un trabajo, en la página Crear trabajo, expanda la sección Variables de entorno (opcional). Pulse Añadir para abrir la página Añadir variable de entorno.
    • Si está creando una función, en la página Crear función, expanda la sección Variables de entorno (opcional ). Pulse Añadir para abrir la página Añadir variable de entorno.
    • Si está actualizando una carga de trabajo existente para añadir variables de entorno, vaya a la app, trabajo o función existente. En la pestaña Configuración, haga clic en Variables de entorno. Para apps, trabajos y funciones, pulse Añadir variable de entorno para abrir la página Añadir variable de entorno.
  2. En la página Añadir variable de entorno, cree una variable de entorno de una de las siguientes maneras:

    • Para crear una variable de entorno literal, seleccione Literal value, especifique el nombre de la variable de entorno literal y proporcione un valor. Observe que la sección Resulting definition muestra el nombre de la variable de entorno y su valor.
    • Para crear una variable de entorno que sea una referencia completa a un configmap, seleccione Reference full configmap y, a continuación, seleccione el configmap existente. Para este caso, se hace referencia a todas las claves del mapa de configuración seleccionado como parte de la variable de entorno. Observe que la sección Resulting definition muestra el nombre de las claves en el mapa de configuración, pero no muestra los valores reales de las claves a las que se hace referencia en el mapa de configuración.
    • Para crear una variable de entorno que haga referencia a una clave individual de un configmap definido, seleccione Reference key in configmap, seleccione el configmap existente que desee y, a continuación, seleccione la clave a la que hacer referencia como parte de la variable de entorno. Después de seleccionar la clave individual en el mapa de configuración al que desea hacer referencia, observe que la sección Resulting definition muestra el nombre de la clave seleccionada en el mapa de configuración, pero no muestra el valor real de la clave a la que se hace referencia en el mapa de configuración.
    • Para crear una variable de entorno que haga referencia a un secreto, seleccione Reference full secret y, a continuación, seleccione el secreto existente. Para este caso, se hace referencia a todas las claves del secreto seleccionado como parte de la variable de entorno. Observe que la sección Resulting definition muestra el nombre de las claves en el secreto, pero no muestra los valores reales de las claves a las que se hace referencia en el secreto.
    • Para crear una variable de entorno que haga referencia a una clave individual de un secreto definido, seleccione Reference key in secret, seleccione el secreto existente que desee y, a continuación, seleccione la clave a la que hacer referencia como parte de la variable de entorno. Después de seleccionar la clave individual en el secreto al que desea hacer referencia, observe que la sección Resulting definition muestra el nombre de la clave seleccionada en el secreto, pero no muestra el valor real de la clave a la que se hace referencia en el secreto.

    En la consola, solo puede hacer referencia a una clave individual de un mapa de configuración o secreto definido por variable de entorno. Si necesita hacer referencia a más de una clave de un mapa de configuración o un secreto, repita los pasos para definir otra variable de entorno que haga referencia a una clave diferente.

  3. Pulse Listo para guardar los cambios. Esta acción añade la variable de entorno a la tabla en el separador Variables de entorno. Para continuar añadiendo variables de entorno, pulse Añadir.

  4. Complete la creación o actualización de su aplicación, trabajo o función con la variable de entorno definida.

    • Si está creando una carga de trabajo, al pulsar Crear, la app, el trabajo o la función se despliega con las variables de entorno.
    • Si está actualizando una aplicación, un trabajo o una función existentes para añadir una variable de entorno, haga clic en Guardar e implementar para actualizar la aplicación o haga clic en Guardar para actualizar su trabajo o función con las nuevas variables de entorno.
  5. Cuando la app, el trabajo o la función están en estado Ready, se actualiza con las variables de entorno.

La tabla siguiente describe información sobre las variables de entorno.

Tabla de variables de entorno
Cabecera Descripción
Name El nombre de la variable de entorno.
Defined by Especifica si la variable de entorno es de tipo literal, o si la variable de entorno es un mapa de configuración o un secreto completamente referenciado, o si se hace referencia a claves específicas de un secreto o de un mapa de configuración.
Value or reference Muestra el valor literal, el mapa de configuración o el secreto completamente referenciado, o las claves referenciadas de un mapa de configuración o un secreto.

Por ejemplo, vamos a crear una app y establecer variables de entorno para la app.

  1. Cree una aplicación denominada myapp, que utilice la imagen icr.io/codeengine/codeengine. Esta app hello-world incluye la variable de entorno TARGET y la app imprime Hello ${TARGET} from Code Engine e imprime un listado de variables de entorno. Si la variable de entorno TARGET está vacía, se devuelve Hello World from Code Engine.
  2. Vaya a esta app en la consola.
  3. Cuando la app esté en estado Ready, puede probar la app. Pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. La app myapp devuelve una respuesta Hello World from Code Engine e imprime las variables de entorno que se incluyen en esta app.
  4. Pulse el separador Variables de entorno.
  5. Cree las siguientes variables de entorno.
    • Pulse Añadir para abrir la página Añadir variable de entorno y cree una variable de entorno literal. Por ejemplo, cree una variable de entorno literal con el nombre literalenvvar y con el valor de This is my literal. Pulse Listo para guardar los cambios.
    • Pulse Añadir para abrir la página Añadir variable de entorno y cree una variable de entorno que sea una referencia completa a un configmap. Para poder hacer referencia a un mapa de configuración, éste debe existir. Para este ejemplo, existe un mapa de configuración con el nombre mycolorconfigmap y contiene los siguientes pares de clave-valor: key1=blue, key2=green y key3=yellow. Cree una variable de entorno que sea una referencia completa al configmap mycolorconfigmap, incluidos todos sus pares clave-valor. Observe que la sección Resulting definition muestra el nombre de las claves en el mapa de configuración, pero no muestra los valores reales de las claves a las que se hace referencia en el mapa de configuración. Pulse Listo para guardar los cambios.
    • Pulse Añadir para abrir la página Añadir variable de entorno y cree otra variable de entorno que haga referencia a una clave individual de un secreto definido. Para poder hacer referencia a un secreto, éste debe existir. Para este ejemplo, existe un secreto con el nombre mynewsecret y contiene los siguientes pares de clave-valor: newsec1=mynewsecret1, newsec2=mynewsecret2 y newsec3=mynewsecret3. Cree una variable de entorno que haga referencia a la clave newsec2 del secreto mynewsecret. Observe que la sección Resulting definition muestra el nombre de la clave seleccionada en el secreto, pero no muestra el valor real de la clave a la que se hace referencia en el secreto. Pulse Listo para guardar los cambios.
  6. Pulse Guardar y crear para actualizar la app con las nuevas variables de entorno.
  7. Cuando la app está en estado Ready, la app se actualiza con las variables de entorno.
  8. Para probar la app, pulse Probar aplicación y, a continuación, pulse Enviar solicitud en el panel Probar aplicación. Para abrir la aplicación en una página web, pulse URL de aplicación. Con esta revisión de app, esta app muestra Hello World from Code Engine y la salida incluye los nombres de las variables de entorno, que se han añadido en los pasos anteriores.

Cuando se establecen variables de entorno en la carga de trabajo, esta acción añade una nueva variable de entorno o anula una variable de entorno existente. Si tiene una variable de entorno con el mismo nombre y especifica un valor diferente al de la variable de entorno definida anteriormente, la variable de entorno actualizada anula el valor existente. Por ejemplo, si tiene una variable de entorno definida denominada envvar1 y su valor es myenvar1, y define otra variable de entorno que también se denomina envvar1 y especifica su valor como mynewenvvar1, después de guardar y desplegar la app actualizada o de guardar el trabajo actualizado, la app en ejecución o el trabajo utiliza la variable de entorno envvar1 con el valor mynewenvvar1.

Actualización de variables de entorno desde la consola

  1. Para actualizar una variable de entorno existente, vaya a su aplicación, trabajo o función que incluya la variable de entorno que desea cambiar y haga clic en la pestaña Variables de entorno para mostrar su tabla de variables de entorno.
  2. En la tabla de variables de entorno, pulse la variable de entorno que desea actualizar.
  3. En la página Editar variable de entorno, realice la actualización y pulse Listo para guardar los cambios. Al editar la variable de entorno, puede cambiar el valor Definido por y sus campos necesarios correspondientes.
  4. Pulse Guardar y desplegar para desplegar la aplicación con los cambios o pulse Guardar para ejecutar el trabajo con los cambios. Cuando la app o el trabajo está en estado Ready, la app o el trabajo se actualiza con las variables de entorno.

Creación y actualización de variables de entorno con la CLI

Cree y gestione variables de entorno con la CLI de Code Engine.

Puede definir variables de entorno al crear o actualizar la app, el trabajo o la función con la CLI.

Cuando crea una variable de entorno con la CLI, puede hacer referencia a los mapas de configuración o los secretos, o puede crear una variable de entorno literal. Estas instrucciones describen cómo crear y actualizar una variable de entorno literal con la CLI.

Para ver escenarios detallados sobre cómo hacer referencia a los secretos completos y los mapas de configuración como variables de entorno, alterar las referencias y eliminar referencias en la CLI, consulte Cómo hacer referencia a secretos y mapas de configuración.

Antes de empezar

Crear y actualizar variables de entorno para la app

Cree y actualice las variables de entorno para su app de la siguiente manera:

  • Para crear y establecer una variable de entorno para la app, utilice la opción --env con el mandato app create o app update. El ejemplo siguiente crea la aplicación myapp que utiliza la imagen icr.io/codeengine/codeengine y define las variables de entorno envA y envB.

    ibmcloud ce application create --name myapp --image icr.io/codeengine/codeengine --env envA=A --env envB=B
    
  • Para actualizar las variables de entorno para una aplicación existente, utilice la opción --env con el mandato app update. El ejemplo siguiente actualiza la aplicación myapp para sobrescribir el valor de envA y añade la variable de entorno envC.

    ibmcloud ce application update --name myapp  --env envA=AA --env envC=C
    

Crear y actualizar variables de entorno para el trabajo

Establezca y actualice las variables de entorno para su trabajo de la siguiente manera:

  • Para crear y establecer una variable de entorno para el trabajo, utilice la opción --env con el mandato job create, job update, jobrun submit o jobrun resubmit. El ejemplo siguiente crea el trabajo myjob que utiliza la imagen icr.io/codeengine/codeengine y define la variable de entorno envA.

    ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --env envA=A
    
  • Para actualizar las variables de entorno para un trabajo existente, utilice la opción --env con el mandato job update, jobrun submit o jobrun resubmit.

Ejemplo 1

El ejemplo siguiente actualiza el trabajo myjob para sobrescribir el valor de envA y añade la variable de entorno envB.

ibmcloud ce job update --name myjob  --env envA=AA --env envB=B

Ejecute el mandato job get para mostrar detalles del trabajo, incluidas sus variables de entorno.

ibmcloud ce job get --name myjob

Salida de ejemplo

Getting job 'myjob'...
OK

Name:          myjob
[...]
Environment Variables:
    Type     Name  Value
    Literal  envA  AA
    Literal  envB  B
Image:                  icr.io/codeengine/codeengine
[...]

Ejemplo 2

El ejemplo siguiente ejecuta el trabajo myjob, sobrescribe el valor de envA y añade la variable de entorno envD para esta ejecución de trabajo.

ibmcloud ce jobrun submit --job myjob  --name myjobrun1 --env envB=BB --env envC=C

Ejecute el mandato jobrun get para visualizar detalles de la ejecución del trabajo, incluidas sus variables de entorno.

ibmcloud ce jobrun get --name myjobrun1

Salida de ejemplo

[...]
Name:          myjobrun1
[...]
Job Ref:                myjob
Environment Variables:
    Type     Name  Value
    Literal  envA  AA
    Literal  envB  BB
    Literal  envC  C
Image:                  icr.io/codeengine/codeengine
[...]

Instances:
Name           Running  Status   Restarts  Age
myjobrun1-0-0  0/1      Succeeded  0         17s

Crear y actualizar variables de entorno para su función

Establezca y actualice las variables de entorno para su función de la siguiente manera.

  • Para crear y establecer una variable de entorno para la función, utilice la opción --env con function create o el mandato function update. El ejemplo siguiente crea la función myfunction que utiliza el código fuente https://github.com/IBM/CodeEngine y define la variable de entorno envA.

    ibmcloud ce function create --name myfunction --runtime nodejs-20 --build-source https://github.com/IBM/CodeEngine --build-context-dir /helloworld-samples/function-nodejs  --env envA=A
    

    Salida de ejemplo del mandato fn get.

    Environment Variables:
    Type     Name  Value
    Literal  envA  A
    
  • Para actualizar las variables de entorno de una función existente, utilice la opción --env con el function update comando. El siguiente ejemplo actualiza la función myfunction para sobrescribir el valor de envA y agrega la variable de entorno envC.

    ibmcloud ce fn update --name myfunction  --env envA=AA --env envC=C
    

    Salida de ejemplo del mandato fn get.

    Environment Variables:
    Type     Name  Value
    Literal  envA  AA
    Literal  envC  C
    

Consideraciones para actualizar cargas de trabajo con variables de entorno

Tenga en cuenta la siguiente información cuando actualice una aplicación, trabajo o función que tenga una variable de entorno que haga referencia a mapas de configuración o secretos.

  • Cuando actualizas una aplicación, un trabajo o una función que tiene una variable de entorno que hace referencia completa a un mapa de configuración (o secreto) para hacer referencia completa a un mapa de configuración (o secreto) diferente, las referencias completas anulan otras referencias completas en el orden en que se establecen (el último conjunto al que se hace referencia anula el primer conjunto).
  • Cuando actualizas una aplicación, un trabajo o una función que tiene una variable de entorno que hace referencia a una clave en un mapa de configuración (o secreto) para hacer referencia a la misma clave en un mapa de configuración (o secreto) diferente, se utiliza la última clave a la que se hace referencia.
  • Cuando actualizas una aplicación, un trabajo o una función que tiene una variable de entorno que hace referencia completa a un mapa de configuración (o secreto) para agregar una referencia a una clave específica, la referencia de clave específica anula la referencia completa del mapa de configuración (o secreto).

Supresión de variables de entorno

Cuando ya no necesite una variable de entorno, puede suprimirla.

Supresión de variables de entorno desde la consola

  1. Desde la consola, vaya a la aplicación, trabajo o función que tenga la variable de entorno que desea eliminar. Pulse el separador Variables de entorno.
  2. En la tabla de variables de entorno, elimine la variable de entorno que desea eliminar de la aplicación, el trabajo o la función.
  3. Haga clic en Guardar e implementar para actualizar la aplicación o haga clic en Guardar para actualizar su trabajo o función con las nuevas variables de entorno. Cuando la app, trabajo o función está en estado Ready, se actualiza con las variables de entorno actuales.

Supresión de variables de entorno con la CLI

Cuando trabaja con variables de entorno con la CLI, puede hacer referencia a los mapas de configuración o los secretos existentes, o puede trabajar con variables de entorno literales. Estas instrucciones describen cómo eliminar una variable de entorno literal con la CLI.

Para ver escenarios detallados sobre la eliminación de referencias a secretos y mapas de configuración completos en la CLI, consulte Cómo hacer referencia a secretos y mapas de configuración.

Suprimir variables de entorno para la app

Para eliminar una variable de entorno para su app, utilice la opción --env-rm con el mandato app update. El ejemplo siguiente actualiza la aplicación myapp para suprimir la variable de entorno envA.

ibmcloud ce application update --name myapp --env-rm envA

Suprimir variables de entorno para el trabajo

Para eliminar una variable de entorno para su trabajo, utilice la opción --env-rm con el mandato job update o jobrun resubmit.

Utilice la opción --env-rm con el mandato job update para eliminar las variables de entorno establecidas en el trabajo. Utilice la opción --env-rm con el mandato jobrun resubmit para eliminar las variables de entorno establecidas en una ejecución de trabajo especificado.

  • El ejemplo siguiente actualiza el trabajo myjob para suprimir la variable de entorno envA.

    ibmcloud ce job update --name myjob  --env-rm envA
    

    Utilice el mandato job get para visualizar detalles del trabajo, incluidas sus variables de entorno.

  • El ejemplo siguiente vuelve a someter la ejecución del trabajo myjobrun1 y suprime la variable de entorno envC.

    ibmcloud ce jobrun resubmit --jobrun myjobrun1  --name jobrun2resuba--env-rm envC
    

    Ejecute el mandato jobrun get para visualizar detalles de la ejecución del trabajo, incluidas sus variables de entorno.

    ibmcloud ce jobrun get --name jobrun2resuba
    

    Salida de ejemplo

    Getting jobrun 'jobrun2resuba'...
    Getting instances of jobrun 'jobrun2resuba'...
    Getting events of jobrun 'jobrun2resuba'...
    [...]
    
    Name:          jobrun2resuba
    [...]
    Job Ref:                myjob
    Environment Variables:
        Type     Name  Value
        Literal  envB  BB
    Image:                  icr.io/codeengine/codeengine
    [...]
    
    Instances:
    Name               Running  Status     Restarts  Age
    jobrun2resuba-0-0  0/1      Succeeded  0         21s
    

Eliminar variables de entorno para su función

Para eliminar una variable de entorno para su función, utilice la opción --env-rm con el function update comando. El siguiente ejemplo actualiza la función " myfunction " para eliminar la variable de entorno " envA ".

ibmcloud ce function update --name myfunction --env-rm envA