variables - set_fact - ansible template
Ansible: verificar si la variable es igual a la cadena (1)
Tenga cuidado con una variable llamada environment
, puede causar problemas porque Ansible lo usa internamente. No recuerdo si está en los documentos, pero aquí hay un hilo de la lista de correo:
https://groups.google.com/forum/#!topic/ansible-project/fP0hX2Za4I0
Usamos una variable llamada stage
.
Parece que terminarás con un montón de estos en una fila:
- include_vars: testing_vars.yml
when: stage == "testing"
- include_vars: staging_vars.yml
when: stage == "staging"
- include_vars: production_vars.yml
when: stage == "production"
Pero también podrías incluir tu entorno:
- include_vars: "{{ stage }}_vars.yml"
O bien, use vars_files
en un nivel de libro de jugadas:
vars_files:
- vars/{{ stage }}_vars.yml
Tengo una variable ansible pasada en la línea de comando como tal:
ansible-playbook -e environment=staging ansible/make_server.yml
Quiero cargar algunas variables en mi función que dependen del valor del entorno. He intentado muchos métodos diferentes, como:
- include_vars: staging_vars.yml
when: environment | staging
y
- include_vars: staging_vars.yml
when: "{{environment}} == "staging"
y
- include_vars: staging_vars.yml
when: "{{environment}} | match(''staging'')"
Pero nada parece funcionar. ¿Cómo hago esto?
Detalles:
- Estoy usando ansible 1.7.2