Ansible oynatma kitabında yaml dizisini --extra-vars
'a nasıl geçirebilirim. Ansible dokümantasyon kendi sözdizimini açıklamıyor ve bunu herhangi bir internet kaynağında bulabiliyorum. Bir senaryo varsaAktarım dizisi --extra-vars - Ansible
Yani:
---
- hosts: {{hostName}}
- remote_user: admin
...
Sonra
ansible-playbook DeployWar.yml --extra-vars="hostName=tomcat-webApp"
gibi benim oyun kitabı çağırmalıdır Ama iki sunucularda bu taktik kitabı çalıştırmak istiyor, tomcat-webApp
ve tomcat-all
demek ve ben --extra-vars
kullanarak dışarıdan kontrol etmek istiyorum.
ansible-playbook DeployWar.yml --extra-vars="hostName=[tomcat-webApp, tomcat-all]"
ansible-playbook DeployWar.yml --extra-vars="hostName={tomcat-webApp, tomcat-all}"
ansible-playbook DeployWar.yml --extra-vars="[{hostName: tomcat-webApp}, {hostName: tomcat-all}]"
Ama her durumda oyun kitabı benim çağrısında sözdizimi hatası ilan başarısız: Ne yapmaya çalıştık olduğunu. Herhangi bir yardım takdir edildi.
--extra-vars bir cankurtaran olmak. Söz konusu siteye {test_list: [1,2,3]} adresini yapıştırarak, JSON'nuzun sözdizimsel olarak doğru olduğunu hızlı bir şekilde doğrulayabilirsiniz. Özellikle birden çok değişkeni Ansible'a geçirirken veya birlikte çalıştığınız başka bir karmaşık JSON'unuz olduğunda kullanışlıdır. –
Bu yanıt aslında modası geçmiş - '--extra-vars = '{test_list: [1,2,3]}' 'kullanılarak hataya yol açacak' HATA: Çift tırnak içine alınan özellik adı bekleniyor: satır 1 sütun 2 (char 1) '(en azından, kullandığım 1.9.4 ile), geçerli bir JSON olmadığı için. Doğru sürüm '--extra-vars = '{" test_list "olurdu: [1,2,3]}'' – iquito
ekstra vars formatlamayı güncelledi, teşekkürler! – jarv