2016-05-04 10 views
5

Piszę główny podręczny skrypt, który zawiera podręczniki. Teraz chcę ustawić zmienne, które wykorzystują wszystkie określone w nim skrypty. Jak określić zmienne w tym poradniku? Wiem, że jedną z opcji jest włączenie vars_files i użycie jej w każdym ze skryptów. Przykład: - include: abc.yml vars_files: vars.ymlOkreślanie zmiennych w głównym Ansible PlayBook

Używam Ansaly 1.9.3.

Odpowiedz

3

Najpierw naprawdę polecam do update swojej odpowiedzi do najnowszej wersji. Bardzo łatwo to zrobić, nie ma powodu, aby pozostać w tyle.

Powiedziawszy to, istnieje wiele sposobów określania zmiennych w twoim głównym poradniku. Wszystkie te są mniej więcej takie same jak w innych książkach. Krótko wspominając:

a. Define je w swoim samouczku:

- hosts: webservers 
    vars: 
    http_port: 80 

b. Separating zmiennej do pliku, jak już powiedział:

- hosts: all 
    remote_user: root 
    vars: 
    favcolor: blue 
    vars_files: 
    - /vars/external_vars.yml 

vars/external_vars.yml

somevar: somevalue 
password: magic 

Inne możliwości to:

C. Using facts

d. Registering output into variables

Dodatkowo, co może mieć znaczenie dla sprawy:

d. Możesz pass variables into includes:

tasks: 
    - include: wordpress.yml wp_user=timmy 
    - include: wordpress.yml wp_user=alice 
    - include: wordpress.yml wp_user=bob 

e. Przechodząc variables in command line:

ansible-playbook release.yml -k "version=1.23.45 other_variable=foo" 

-k jest skrótem --exra-vars.

Możliwe, że mogą być inne sposoby, których może mi brakować w tej chwili.

+1

Świetne podsumowanie! Powinien mieć więcej upvotes :) –

Powiązane problemy