web-dev-qa-db-fra.com

Comment puis-je utiliser juju pour gérer plusieurs environnements?

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?

5
mhall119

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?
4
Marco Ceppi