Utilisation de variables d'environnement

Apprenez à travailler avec les variables d'environnement (env variables) dans Code Engine. Vous pouvez définir des variables d'environnement sous forme de paires clé-valeur qui peuvent être utilisées par votre application, votre tâche ou votre fonction.

Création et mise à jour des variables d'environnement

Créez et gérez des variables d'environnement avec Code Engine.

Vous pouvez définir des variables d'environnement en tant que valeurs littérales ou faire référence à un secret ou à une carte de configuration existants. Code Engine utilise des variables d'environnement pour permettre l'utilisation de secrets ou de cartes de configuration par votre travail, votre application ou votre fonction.

Création de variables d'environnement à partir de la console

Créez et mettez à jour des variables d'environnement à l'aide de la console Code Engine.

Vous pouvez définir des variables d'environnement lorsque vous créez ou mettez à jour votre application, job ou fonction à partir de la console.

Avant de commencer

  • Vous devez créer votre projet et celui-ci doit avoir le statut active.
  • Déterminez si vous souhaitez créer une variable d'environnement littérale ou créer une variable d'environnement qui référence un secret ou une mappe de configuration existante. Si vous souhaitez que votre variable d'environnement référence intégralement un secret ou une mappe de configuration existante ou référence des clés individuelles dans un secret ou une mappe de configuration existante, ce secret ou cette mappe de configuration doit exister. Voir Création d'un secret ou Création d'une mappe de configuration pour définir votre secret ou votre mappe de configuration avant de continuer.
  1. Pour ouvrir la boîte de dialogue permettant de définir votre variable d'environnement sur la page Ajouter une variable d'environnement, effectuez l'une des procédures suivantes.

    • Si vous créez une application, sur la page Créer une application, développez la section Variables d'environnement (facultatif). Vous pouvez ajouter une ou plusieurs variables d'environnement à l'application que vous créez. Cliquez sur Ajouter pour ouvrir la page Ajouter une variable d'environnement.
    • Si vous créez un travail, à partir de la page Créer un travail, développez la section Variables d'environnement (facultatif). Cliquez sur Ajouter pour ouvrir la page Ajouter une variable d'environnement.
    • Si vous créez une fonction, dans la page Créer une fonction, développez la section Variables d'environnement (facultatives). Cliquez sur Ajouter pour ouvrir la page Ajouter une variable d'environnement.
    • Si vous mettez à jour une charge de travail existante pour ajouter des variables d'environnement, accédez à l'application, au travail ou à la fonction existant(e). Dans l'onglet Configuration, cliquez sur Variables d'environnement. Pour les applications, les tâches et les fonctions, cliquez sur Ajouter une variable d'environnement pour ouvrir la page Ajouter une variable d'environnement.
  2. Sur la page Ajouter une variable d'environnement, créez une variable d'environnement de l'une des manières suivantes :

    • Pour créer une variable d'environnement littérale, choisissez Literal value, indiquez le nom de la variable d'environnement littérale et indiquez une valeur. Notez que la section Resulting definition affiche le nom de la variable d'environnement et sa valeur.
    • Pour créer une variable d'environnement qui_référence complètement une mappe de configuration_, choisissez Reference full configmap, puis sélectionnez la mappe de configuration existante. Dans ce cas, toutes les clés de la mappe de configuration sélectionnée sont référencées dans la variable d'environnement. Notez que la section Resulting definition affiche le nom des clés figurant dans la mappe de configuration, mais n'affiche pas la valeur réelle des clés référencées dans cette mappe de configuration.
    • Pour créer une variable d'environnement qui_référence une clé individuelle d'une mappe de configuration définie_, choisissez Reference key in configmap, sélectionnez la mappe de configuration existante que vous souhaitez, puis sélectionnez la clé à utiliser comme référence et qui fait partie de la variable d'environnement. Une fois que vous avez sélectionné la clé individuelle de mappe de configuration à référencer, la section Resulting definition affiche le nom de la clé sélectionnée dans la mappe de configuration, mais n'affiche pas la valeur réelle de la clé référencée dans cette mappe de configuration.
    • Pour créer une variable d'environnement qui_référence entièrement un secret_, choisissez Reference full secret, puis sélectionnez le secret existant. Dans ce cas, toutes les clés du secret sélectionné sont référencées dans la variable d'environnement. Notez que la section Resulting definition affiche le nom des clés figurant dans le secret, mais n'affiche pas la valeur réelle des clés référencées dans ce secret.
    • Pour créer une variable d'environnement qui_ référence une clé individuelle d'un secret défini_, choisissez Reference key in secret, sélectionnez le secret existant que vous souhaitez, puis sélectionnez la clé à utiliser comme référence et qui fait partie de la variable d'environnement. Une fois que vous avez sélectionné la clé individuelle de secret à référencer, la section Resulting definition affiche le nom de la clé sélectionnée dans le secret, mais n'affiche pas la valeur réelle de la clé référencée dans ce secret.

    A partir de la console, vous ne pouvez référencer qu'une seule clé individuelle d'une mappe de configuration ou d'un secret défini par variable d'environnement. Si vous devez référencer plusieurs clés d'une mappe de configuration ou d'un secret, répétez les étapes pour définir une autre variable d'environnement faisant référence à une clé différente.

  3. Cliquez sur Terminé pour sauvegarder vos modifications. Cette action ajoute votre variable d'environnement à la table de l'onglet Variables d'environnement. Pour continuer à ajouter des variables d'environnement, cliquez sur Ajouter.

  4. Complétez la création ou la mise à jour de votre application, job ou fonction avec la variable d'environnement définie.

    • Si vous créez une charge de travail, lorsque vous cliquez sur Créer, l'application, le travail ou la fonction est déployé avec vos variables d'environnement.
    • Si vous mettez à jour une application, un travail ou une fonction existante pour ajouter une variable d'environnement, cliquez sur Enregistrer et déployer pour mettre à jour l'application ou cliquez sur Enregistrer pour mettre à jour votre travail ou votre fonction avec les nouvelles variables d'environnement.
  5. Lorsque votre application, job ou fonction est dans l'état Ready, elle est mise à jour avec vos variables d'environnement.

Le tableau suivant présente les informations relatives à vos variables d'environnement.

Tableau des variables d'environnement
En-tête Description
Name Nom de votre variable d'environnement.
Defined by Indique si la variable d'environnement est de type literal, si la variable d'environnement est une mappe de configuration ou un secret intégralement référencé, ou si des clés spécifiques d'un secret ou d'une mappe de configuration sont référencées.
Value or reference Affiche la valeur littérale, la mappe de configuration ou le secret intégralement référencé, ou les clés référencées d'une mappe de configuration ou d'un secret.

Par exemple, créez une application et définissez des variables d'environnement pour cette application.

  1. Créez une application nommée myapp, qui utilise l'image icr.io/codeengine/codeengine. Cette application hello-world inclut la variable d'environnement TARGET et imprime Hello ${TARGET} from Code Engine ainsi qu'une liste des variables d'environnement. Si la variable d'environnement TARGETest vide, Hello World from Code Engine est renvoyé.
  2. Accédez à cette application dans la console.
  3. Lorsque l'application est à l'état Ready, elle peut être testée. Cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir l'application dans une page Web, cliquez sur URL de l'application. L'application myapp renvoie une réponse Hello World from Code Engine et imprime les variables d'environnement qu'elle comporte.
  4. Cliquez sur l'onglet Variables d'environnement.
  5. Créez les variables d'environnement suivantes.
    • Cliquez sur Ajouter pour ouvrir la page d'ajout d'une variable d'environnement et pour créer une variable d'environnement littérale. Par exemple, créez une variable d'environnement littérale portant le nom literalenvvar et ayant la valeur This is my literal. Cliquez sur Terminé pour sauvegarder vos modifications.
    • Cliquez sur Ajouter pour ouvrir la page d'ajout d'une variable d'environnement et pour créer une variable d'environnement qui_référence complètement une mappe de configuration_. Avant de pouvoir référencer une mappe de configuration, celle-ci doit exister. Pour cet exemple, une mappe de configuration portant le nom mycolorconfigmap existe et contient les paires clé-valeur suivantes : key1=blue, key2=green et key3=yellow. Créez une variable d'environnement qui fait entièrement référence à la mappe de configuration mycolorconfigmap, y compris toutes ses paires valeur-clé. Notez que la section Resulting definition affiche le nom des clés figurant dans la mappe de configuration, mais n'affiche pas la valeur réelle des clés référencées dans cette mappe de configuration. Cliquez sur Terminé pour sauvegarder vos modifications.
    • Cliquez sur Ajouter pour ouvrir la page d'ajout d'une variable d'environnement et pour créer une autre variable d'environnement qui_référence une clé individuelle d'un secret défini_. Avant de pouvoir référencer un secret, celui-ci doit exister. Pour cet exemple, un secret portant le nom mynewsecret existe et contient les paires clé-valeur suivantes : newsec1=mynewsecret1, newsec2=mynewsecret2 et newsec3=mynewsecret3. Créez une variable d'environnement référençant la clé newsec2 du secret mynewsecret. Notez que la section Resulting definition affiche le nom de la clé sélectionnée dans le secret, mais n'affiche pas la valeur réelle de la clé référencée dans ce secret. Cliquez sur Terminé pour sauvegarder vos modifications.
  6. Cliquez sur Sauvegarder et créer pour mettre à jour l'application avec les nouvelles variables d'environnement.
  7. Lorsque l'application est à l'état Ready, celle-ci est mise à jour avec vos variables d'environnement.
  8. Pour tester l'application, cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir l'application dans une page Web, cliquez sur URL de l'application. Avec cette révision d'application, l'application génère Hello World from Code Engine et la sortie inclut le nom des variables d'environnement qui ont été ajoutées aux étapes précédentes.

Lorsque vous définissez des variables d'environnement dans votre charge de travail, cette action ajoute une nouvelle variable d'environnement ou remplace une variable d'environnement existante. Si vous disposez d'une variable d'environnement portant le même nom et que vous spécifiez une valeur différente de la variable d'environnement précédemment définie, la variable d'environnement mise à jour remplace la valeur existante. Par exemple, si vous avez défini une variable d'environnement nommée envvar1 ayant pour valeur myenvar1 et que vous définissez une autre variable d'environnement nommée envvar1 en lui attribuant la valeur mynewenvvar1, lorsque vous sauvegardez et déployez votre application mise à jour ou lorsque vous sauvegardez votre travail mis à jour, votre application ou votre travail utilise la variable d'environnement envvar1 ayant la valeur mynewenvvar1.

Mise à jour des variables d'environnement à partir de la console

  1. Pour mettre à jour une variable d'environnement existante, accédez à l'application, au travail ou à la fonction qui inclut la variable d'environnement que vous souhaitez modifier et cliquez sur l'onglet Variables d'environnement pour afficher votre tableau de variables d'environnement.
  2. Dans le tableau des variables d'environnement, cliquez sur la variable d'environnement à mettre à jour.
  3. Sur la page Editer une variable d'environnement, apportez votre mise à jour et cliquez sur Terminé pour enregistrer vos modifications. Lorsque vous éditez votre variable d'environnement, vous pouvez modifier la valeur Defined by ainsi que les zones obligatoires correspondantes.
  4. Cliquez sur Sauvegarder et déployer pour déployer votre application intégrant vos modifications ou cliquez sur Sauvegarder pour exécuter votre travail intégrant vos modifications. Lorsque votre application ou votre travail est à l'état Ready, il ou elle est mise à jour en intégrant vos variables d'environnement.

Création et mise à jour des variables d'environnement via l'interface de ligne de commande

Créez et gérez des variables d'environnement à l'aide de l'interface de ligne de commande Code Engine.

Vous pouvez définir des variables d'environnement lorsque vous créez ou mettez à jour votre application, votre tâche ou votre fonction à l'aide de l'interface de programmation.

Lorsque vous créez une variable d'environnement via l'interface de ligne de commande, vous pouvez référencer des mappes de configuration ou des secrets, ou vous pouvez créer une variable d'environnement littérale. Ces instructions décrivent la création et la mise à jour d'une variable d'environnement littérale à l'aide de l'interface de programmation.

Pour obtenir des scénarios détaillés sur le référencement de secrets et de mappes de configuration complets en tant que variables d'environnement, sur le remplacement de références et sur le retrait de références dans l'interface de ligne de commande, voir Référencement de secrets et de mappes de configuration.

Avant de commencer

Créez et mettez à jour les variables d'environnement de votre application

Créez et mettez à jour les variables d'environnement de votre application en procédant comme suit :

  • Pour créer et définir une variable d'environnement pour votre application, utilisez l'option --env dans la commande app create ou app update. L'exemple suivant crée l'application myapp qui utilise l'image icr.io/codeengine/codeengine et définit les variables d'environnement envA et envB.

    ibmcloud ce application create --name myapp --image icr.io/codeengine/codeengine --env envA=A --env envB=B
    
  • Pour mettre à jour les variables d'environnement d'une application existante, utilisez l'option --env dans la commande app update. Dans l'exemple suivant, l'application myapp est mise à jour de manière à remplacer la valeur de envA et la variable d'environnement envC est ajoutée.

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

Créez et mettez à jour les variables d'environnement de votre travail

Définissez et mettez à jour les variables d'environnement de votre travail en procédant comme suit :

  • Pour créer et définir une variable d'environnement pour votre travail, utilisez l'option --env dans la commande job create, job update, jobrun submit ou jobrun resubmit. L'exemple suivant crée le travail myjob qui utilise l'image icr.io/codeengine/codeengine et définit la variable d'environnement envA.

    ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --env envA=A
    
  • Pour mettre à jour les variables d'environnement d'un travail existant, utilisez l'option --env dans la commande job update, jobrun submit ou jobrun resubmit.

Exemple 1

Dans l'exemple suivant, le travail myjob est mis à jour de manière à remplacer la valeur de envA et la variable d'environnement envB est ajoutée.

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

Exécutez la commande job get pour afficher les détails du travail, y compris ses variables d'environnement.

ibmcloud ce job get --name myjob

Exemple de sortie

Getting job 'myjob'...
OK

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

Exemple 2

Dans l'exemple suivant, le travail myjob est exécuté, la valeur de envA est remplacée et la variable d'environnement envD est ajoutée pour cette exécution de travail.

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

Exécutez la commande jobrun get pour afficher les détails de l'exécution de travail, y compris ses variables d'environnement.

ibmcloud ce jobrun get --name myjobrun1

Exemple de sortie

[...]
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

Créer et mettre à jour les variables d'environnement pour votre fonction

Définissez et mettez à jour les variables d'environnement pour votre fonction comme suit.

  • Pour créer et définir une variable d'environnement pour votre fonction, utilisez l'option --env avec la commande function create ou la commande function update ou la commande L'exemple suivant crée la fonction myfunction qui utilise le code source https://github.com/IBM/CodeEngine et définit la variable d'environnement envA.

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

    Exemple de sortie de la commande fn get de la commande

    Environment Variables:
    Type     Name  Value
    Literal  envA  A
    
  • Pour mettre à jour les variables d'environnement d'une fonction existante, utilisez l'option --env avec la commande function update avec la commande L'exemple suivant met à jour la fonction myfunction pour écraser la valeur de envA et ajoute la variable d'environnement envC.

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

    Exemple de sortie de la commande fn get de la commande

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

Considérations relatives à la mise à jour des charges de travail à l'aide de variables d'environnement

Tenez compte des informations suivantes lorsque vous mettez à jour une application, un travail ou une fonction dont la variable d'environnement fait référence à des cartes de configuration ou à des secrets.

Lorsque vous mettez à jour une application, un travail ou une fonction dont la variable d'environnement fait entièrement référence à une carte de configuration (ou à un secret) pour qu'elle fasse entièrement référence à une autre carte de configuration (ou à un autre secret), les références complètes remplacent les autres références complètes dans l'ordre dans lequel elles sont définies (le dernier ensemble référencé remplace le premier ensemble).

Lorsque vous mettez à jour une application, un travail ou une fonction dont la variable d'environnement fait référence à une clé dans une carte de configuration (ou un secret) pour référencer la même clé dans une autre carte de configuration (ou un autre secret), c'est la dernière clé référencée qui est utilisée.

Lorsque vous mettez à jour une application, un travail ou une fonction dont la variable d'environnement fait entièrement référence à une carte de configuration (ou à un secret) afin d'ajouter une référence à une clé spécifique, la référence à la clé spécifique remplace la référence à la carte de configuration complète (ou au secret).

Suppression de variables d'environnement

Vous pouvez supprimer une variable d'environnement lorsque vous n'avez plus besoin de celle-ci.

Suppression de variables d'environnement à partir de la console

  1. Dans la console, accédez à l'application, au travail ou à la fonction qui contient la variable d'environnement que vous souhaitez supprimer. Cliquez sur l'onglet Variables d'environnement.
  2. Dans le tableau des variables d'environnement, supprimez la variable d'environnement que vous souhaitez supprimer de l'application, du travail ou de la fonction.
  3. Cliquez sur Enregistrer et déployer pour mettre à jour l'application ou cliquez sur Enregistrer pour mettre à jour votre travail ou votre fonction avec les nouvelles variables d'environnement. Lorsque votre application, job ou fonction est dans l'état Ready, elle est mise à jour avec vos variables d'environnement actuelles.

Suppression de variables d'environnement via l'interface de ligne de commande

Lorsque vous utilisez des variables d'environnement via l'interface de ligne de commande, vous pouvez référencer des mappes de configuration ou des secrets existants, ou vous pouvez vous servir de variables d'environnement littérales. Ces instructions décrivent la suppression d'une variable d'environnement littérale à l'aide de l'interface de programmation.

Pour des scénarios détaillés sur la suppression de références à des secrets ou à des mappes de configuration intégrales dans l'interface de ligne de commande, voir Référencement de secrets et de mappes de configuration.

Supprimez des variables d'environnement de votre application

Pour supprimer une variable d'environnement de votre application, utilisez l'option --env-rm dans la commande app update. Dans l'exemple suivant, l'application myapp est mise à jour de manière à supprimer la variable d'environnement envA.

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

Supprimez des variables d'environnement de votre travail

Pour supprimer une variable d'environnement de votre travail, utilisez l'option --env-rm dans la commande job update ou jobrun resubmit.

Utilisez l'option --env-rm dans la commande job update pour supprimer des variables d'environnement définies dans le travail. Utilisez l'option --env-rm dans la commande jobrun resubmit pour supprimer des variables d'environnement définies dans une exécution de travail spécifique.

  • Dans l'exemple suivant, le travail myjob est mis à jour de manière à supprimer la variable d'environnement envA.

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

    Exécutez la commande job get pour afficher les détails du travail, y compris ses variables d'environnement.

  • Dans l'exemple suivant, l'exécution de travail myjobrun1 est soumise à nouveau et la variable d'environnement envC est supprimée.

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

    Exécutez la commande jobrun get pour afficher les détails de l'exécution de travail, y compris ses variables d'environnement.

    ibmcloud ce jobrun get --name jobrun2resuba
    

    Exemple de sortie

    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
    

Supprimer les variables d'environnement pour votre fonction

Pour supprimer une variable d'environnement pour votre fonction, utilisez l'option --env-rm avec la commande function update avec la commande L'exemple suivant met à jour la fonction myfunction pour supprimer la variable d'environnement envA.

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