Aller au contenu

Variables d'environnement personnalisées

Trois façons d'ajouter des variables d'environnement personnalisées à un conteneur Stack Harbor PaaS : le panneau de variables du tableau de bord, les fichiers de config shell, et le fichier variables.conf pour Java.

Les variables d’environnement personnalisées sont des placeholders pour des valeurs que votre application lit à l’exécution — chaînes de connexion, indicateurs de fonctionnalité, chemins, identifiants en dev, tout ce qu’on évite de coder en dur. La plateforme expose trois façons de les poser. Choisissez celle qui correspond à l’usage.

  • Le panneau de variables du tableau de bord — surface canonique, persistée par la plateforme.
  • Les fichiers de configuration shell (~/.bashrc, ~/.bash_profile) — shell interactif uniquement.
  • variables.conf — serveurs d’application Java, atteint la JVM comme flags -D.

Via le panneau de variables du tableau de bord

C’est la bonne surface pour la configuration applicative. Les valeurs posées ici survivent aux redémarrages et reconstructions de conteneur.

  1. Survolez le groupe de nœuds dans le tableau de bord, dépliez le menu Additionally, et choisissez Variables.
  2. Dans le panneau, ajoutez, éditez ou retirez des variables via la barre d’outils.
  3. Cliquez sur Apply.

L’implémentation Docker de la plateforme permet de référencer des variables existantes quand vous en définissez de nouvelles. Par exemple, poser MY$HOME résout à l’expansion littérale de $HOME — donc si HOME=/root, MY$HOME devient MY/root.

Un redémarrage de conteneur applique les nouvelles valeurs aux processus en cours.

Via les fichiers de configuration shell

À utiliser quand la variable doit exister pour les sessions shell interactives — typiquement parce qu’un développeur en SSH attend que $VAR_NAME soit défini.

Deux fichiers comptent :

  • ~/.bash_profile — sourcé une fois par shell de login.
  • ~/.bashrc — sourcé pour chaque nouveau shell interactif.

La plateforme source ~/.bashrc depuis ~/.bash_profile automatiquement, donc vous n’avez qu’à maintenir ~/.bashrc.

Pour ajouter une variable :

  1. Ouvrez une connexion SSH au conteneur — le client Web SSH intégré convient, ou utilisez votre propre client.

  2. Éditez ~/.bashrc dans le répertoire home du conteneur. Ajoutez des lignes de la forme :

    export VAR_NAME=value
  3. Soit vous vous déconnectez et reconnectez, soit vous appliquez immédiatement pour la session courante :

    source ~/.bashrc
    echo $VAR_NAME

Les nouvelles sessions bash sur ce conteneur voient maintenant la variable.

Via variables.conf — serveurs d’application Java

Pour les serveurs d’application Java, les valeurs qui doivent atteindre la JVM comme flags -D vont dans variables.conf. Le chemin dépend du stack :

StackChemin
Tomcat, TomEE/opt/tomcat/conf/variables.conf
Jetty/opt/jetty/etc/variables.conf
Spring Boot/opt/shared/conf/variables.conf
GlassFish/opt/glassfish/glassfish/domains/domain1/config/variables.conf
Payara/opt/payara/glassfish/domains/domain1/config/variables.conf
WildFly/opt/wildfly/conf/variables.conf

Pour éditer :

  1. Cliquez sur Config sur le nœud serveur d’application pour ouvrir le gestionnaire de fichiers de configuration.

  2. Naviguez vers variables.conf pour votre stack.

  3. Ajoutez les entrées -D, séparées par des espaces ou une par ligne :

    -Dvar1=value1 -Dvar2=value2
    -Dmy.var3=/my/value
  4. Sauvegardez le fichier.

  5. Redémarrez les nœuds du serveur d’application pour que la JVM prenne les nouveaux flags.

Certains serveurs (GlassFish, Payara, WildFly) exposent aussi un panneau admin qui peut ajouter options JVM et variables personnalisées. Les deux chemins finissent par écrire au même endroit.

Dans le code applicatif :

String var1 = System.getProperty("var1");
String var2 = System.getProperty("var2");
String var3 = System.getProperty("my.var3");

Voir aussi