How can I pass variable to ansible playbook in the command line?

后端 未结 10 2027
不知归路
不知归路 2021-01-29 21:57

I\'m new to ansible and wonder how to do so as the following didn\'t work

ansible-playbook -i \'10.0.0.1,\' yada-yada.yml --tags \'loaddata\' django_fixtures=\"t         


        
10条回答
  •  爱一瞬间的悲伤
    2021-01-29 22:13

    Other answers state how to pass in the command line variables but not how to access them, so if you do:

    --extra-vars "version=1.23.45 other_variable=foo"
    

    In your yml file you assign these to scoped ansible variables by doing something like:

    vars:
        my_version: "{{ version }}"
        my_other_variable: {{ other_variable }}
    

    An alternative to using command line args is to utilise environmental variables that are already defined within your session, you can reference these within your ansible yml files like this:

    vars:
        my_version: "{{ lookup('env', 'version') }}"
        my_other_variable: {{ lookup('env', 'other_variable') }}
    

提交回复
热议问题