Como posso usar o juju para gerenciar vários ambientes?

5

Se eu tiver vários ambientes de juju definidos, muitas vezes eu quero executar uma série de comandos em um deles. Especificar -e em cada chamada é bastante entediante, mas mudar o padrão toda vez que você muda de projeto também é irritante. Existe uma variável de ambiente que eu possa definir na minha sessão de shell para especificar em qual ambiente todos os comandos subsequentes de juju devem ser executados?

    
por mhall119 14.11.2012 / 19:34

1 resposta

4

Existem três maneiras de gerenciar ambientes Juju dentro da linha de comando. Uma maneira é definir a chave YAML "padrão" para o ambiente que você deseja usar por padrão:

default: devel
environments:
  production:
    ...
  devel:
    ...
  staging:
    ...

Você pode substituir a chave default environments.yaml passando um flag -e com cada comando do Juju, o valor definido para qual ambiente você deseja usar:

juju bootstrap -e staging
juju deploy -e staging mysql
juju status -e production
juju destroy-environment -e devel

Por fim, o Juju procurará a variável de ambiente JUJU_ENV . Você pode exportá-lo e redefini-lo para uma string vazia ou um novo valor para evitar alterar a chave default environments.yaml ou usar o -e flag

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?
    
por Marco Ceppi 14.11.2012 / 19:54

Tags