Si plusieurs environnements juju sont définis, je souhaiterai souvent exécuter une série de commandes sur l'un d'eux. La spécification de -e à chaque appel est assez fastidieuse, mais changer la valeur par défaut à chaque changement de projet est également ennuyeux. Existe-t-il une variable d'environnement que je peux définir dans ma session Shell pour spécifier dans quel environnement toutes les commandes juju suivantes doivent être exécutées?
Il existe trois façons de gérer les environnements Juju dans la ligne de commande. Une façon consiste à définir la clé YAML "par défaut" sur l'environnement que vous souhaitez utiliser par défaut:
default: devel
environments:
production:
...
devel:
...
staging:
...
Vous pouvez remplacer la clé default
environnements.yaml en passant un -e
flag avec chaque commande Juju, la valeur définie dans quel environnement vous souhaitez utiliser:
juju bootstrap -e staging
juju deploy -e staging mysql
juju status -e production
juju destroy-environment -e devel
Enfin, Juju va recherchez le JUJU_ENV
variable d'environnement . Vous pouvez l'exporter, puis le réinitialiser dans une chaîne vide ou une nouvelle valeur pour éviter de modifier la clé default
environnements.yaml ou d'utiliser la -e
drapeau
marco@work:~$ export JUJU_ENV=production
marco@work:~$ juju bootstrap
2012-11-14 13:55:44,235 INFO Bootstrapping environment 'production' (Origin: ppa type: ec2)...
2012-11-14 13:55:45,567 INFO 'bootstrap' command finished successfully
marco@work:~$ export JUJU_ENV=local
marco@work:~$ juju status
2012-11-14 13:55:39,504 INFO Connecting to environment...
2012-11-14 13:55:40,179 ERROR juju environment not found: is the environment bootstrapped?