cevap

137

:

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

Diğerleri örnekler nasıl yerleştirileceğini gösteren JSON dize (≥ 1.2) veya dosya (≥ 1.3)

+12

Not Ekle '--extra-vars' ile tanımlanan bu değişken (ler) olacak Oynatma kitabında tanımlanan değişken (ler) i geçersiz kılmak. – checksum

21
dan
ansible-playbook release.yml -e "version=1.23.45 other_variable=foo" 
+9

'-e 'bayrağı' --extra-vars 'kısa biçimidir –

+2

Değişken dosyayı iletebilir miyim? –

+2

@AniruddhaJawanjal evet, '--extra-vars' gibi @ some_file.json '' – AlanSE

15

Nedense yukarıdaki Cevapların hiçbiri benim için çalıştı.

ansible-playbook site.yaml -i hostinv -e firstvar=false -e second_var=value2 
+3

' -e', ek varyasyonları belirtebileceğinizi göstermek için '--extra-vars' –

+0

@LXCdev KohaLappi +1'in kısa biçimidir kendi '-e' bayraklarında – ctlockey

+0

Ayrıca tek bir bayrak kullanarak birden çok değişken tanımlayabilirsiniz:' -e "firstvar = false second_var = value2" ' –

49

Diğer cevaplar geçmek nasıl açıkladık: Ben Ansbile 2.2.0 benim kitabından birkaç ekstra değişkenler geçmesi gerekiyor, bu ben (her var önce -e seçeneği unutmayın) çalışma var nasıl komut satırı değişkenleri ancak bunu yaparsanız bu yüzden, bunlara erişmek için nasıl:

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

sizin yml dosyasında aşağıdaki gibi bir şey yaparak yanıtlayıcı 'değişkenleri kapsamlı bu atayın: komutunu kullanarak

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

alternatif li ne args böyle senin yanıtlayıcı 'yml dosyaları içinde bu referans verebilir, zaten oturum içinde tanımlanan çevresel değişkenler kullanmaktır: Ayrıca

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

bu soruya cevap vermiyor, kendi sorusuna taşımalı ve ilgili bağlantıyı buraya ekleyin. –

+6

Ne hakkında konuştuğunuzdan emin değil misiniz ?? Benim cevabım * komut satırı bayrağına başvurarak önceden kabul edilmiş cevaplarda * genişler --extra-vars * VE * yaml konfigürasyonunuzda bunları nasıl referans göstereceğim. Sonra da bunu yapmanın alternatif bir yolunu sunuyoruz. – GreensterRox

+1

Buradaki soru, özellikle komut satırı ** aracılığıyla değişken ** geçer. Tam olarak bu yüzden kendi soru/cevap ve ilgili bir bağlantı olarak daha iyi olurdu. İlgili bağlantıyı soruya yorum olarak yapabilirsiniz. –

İlgili konular