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.
-
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.
-
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 sectionResulting definitionaffiche 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 sectionResulting definitionaffiche 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 sectionResulting definitionaffiche 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 sectionResulting definitionaffiche 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 sectionResulting definitionaffiche 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.
- Pour créer une variable d'environnement littérale, choisissez
-
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.
-
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.
-
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.
| 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.
- Créez une application nommée
myapp, qui utilise l'imageicr.io/codeengine/codeengine. Cette applicationhello-worldinclut la variable d'environnementTARGETet imprimeHello ${TARGET} from Code Engineainsi qu'une liste des variables d'environnement. Si la variable d'environnementTARGETest vide,Hello World from Code Engineest renvoyé. - Accédez à cette application dans la console.
- 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'applicationmyapprenvoie une réponseHello World from Code Engineet imprime les variables d'environnement qu'elle comporte. - Cliquez sur l'onglet Variables d'environnement.
- 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
literalenvvaret ayant la valeurThis 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
mycolorconfigmapexiste et contient les paires clé-valeur suivantes :key1=blue,key2=greenetkey3=yellow. Créez une variable d'environnement qui fait entièrement référence à la mappe de configurationmycolorconfigmap, y compris toutes ses paires valeur-clé. Notez que la sectionResulting definitionaffiche 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
mynewsecretexiste et contient les paires clé-valeur suivantes :newsec1=mynewsecret1,newsec2=mynewsecret2etnewsec3=mynewsecret3. Créez une variable d'environnement référençant la clénewsec2du secretmynewsecret. Notez que la sectionResulting definitionaffiche 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.
- 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
- Cliquez sur Sauvegarder et créer pour mettre à jour l'application avec les nouvelles variables d'environnement.
- Lorsque l'application est à l'état
Ready, celle-ci est mise à jour avec vos variables d'environnement. - 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 Engineet 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
- 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.
- Dans le tableau des variables d'environnement, cliquez sur la variable d'environnement à mettre à jour.
- 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.
- 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
- Configurez votre environnement d'interface de ligne de commande Code Engine.
- Créez et utilisez un projet.
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
--envdans la commandeapp createouapp update. L'exemple suivant crée l'applicationmyappqui utilise l'imageicr.io/codeengine/codeengineet définit les variables d'environnementenvAetenvB.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
--envdans la commandeapp update. Dans l'exemple suivant, l'applicationmyappest mise à jour de manière à remplacer la valeur deenvAet la variable d'environnementenvCest 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
--envdans la commandejob create,job update,jobrun submitoujobrun resubmit. L'exemple suivant crée le travailmyjobqui utilise l'imageicr.io/codeengine/codeengineet définit la variable d'environnementenvA.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
--envdans la commandejob update,jobrun submitoujobrun 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
--envavec la commandefunction createou la commandefunction updateou la commande L'exemple suivant crée la fonctionmyfunctionqui utilise le code sourcehttps://github.com/IBM/CodeEngineet définit la variable d'environnementenvA.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=AExemple de sortie de la commande
fn getde la commandeEnvironment Variables: Type Name Value Literal envA A -
Pour mettre à jour les variables d'environnement d'une fonction existante, utilisez l'option
--envavec la commandefunction updateavec la commande L'exemple suivant met à jour la fonctionmyfunctionpour écraser la valeur deenvAet ajoute la variable d'environnementenvC.ibmcloud ce fn update --name myfunction --env envA=AA --env envC=CExemple de sortie de la commande
fn getde la commandeEnvironment 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
- 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.
- 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.
- 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
myjobest mis à jour de manière à supprimer la variable d'environnementenvA.ibmcloud ce job update --name myjob --env-rm envAExécutez la commande
job getpour afficher les détails du travail, y compris ses variables d'environnement. -
Dans l'exemple suivant, l'exécution de travail
myjobrun1est soumise à nouveau et la variable d'environnementenvCest supprimée.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name jobrun2resuba--env-rm envCExécutez la commande
jobrun getpour afficher les détails de l'exécution de travail, y compris ses variables d'environnement.ibmcloud ce jobrun get --name jobrun2resubaExemple 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