2015-06-12 5 views
9

Web uygulamamı EC2 web örneklerinde kullanıma sunmak için kullanıyorum. Kodum olarak izlenir: Bu mükemmel çalışıyorAnsible git modülü bir şubeyi kontrol etmiyor

- name: Checkout the source code 
    git: 
    accept_hostkey=yes 
    depth=5 
    dest={{ webapp_dir }} 
    force=yes 
    key_file=/var/tmp/webapp_deploy_key 
    [email protected]:MyRepo/web-app.git 
    update=yes 
    version={{ webapp_version }} 
    register: git_output 

sürece webapp_version = master olarak. Ama bir SHA1 veya Şube ismi koyduğumda başarısız olur.

TASK: [webapp | Checkout the source code] 
************************************* 
failed: [52.17.69.83] => {"failed": true} 
msg: Failed to checkout some-branch 

Oldukça garip.

kullandığım:

› ansible --version 
ansible 1.9.1 
    configured module search path = None 

cevap

7

Ve yine kendi sorularımdan birini yanıtlayacağım. depth=5 katil oldu. Tüm farklı sürümlerinize erişmek istiyorsanız, onu kullanmayın;)

+4

Buraya inen başka herkes için, 'depth' özelliğini kullanmam gerekiyordu. –

+0

Teşekkürler @WindUpToy! Bu iş yaptı! – wegginho

+0

kuyu, orada farklı dalları kontrol etmek istemediğiniz sürece derinlik gerçekten sorun değil. Benim durumumda src'nin kaldırılması ve tekrar çalıştırılması, derinlikli veya derin olmaksızın yeterliydi. –

-2

Bu git ile ilgisi yoktur. YAML'iniz yanlış (Size bir ayrıştırma hatası vermediğine şaşırdım). Böyle yazmalısın ya:

- name: Checkout the source code 
    git: > 
    accept_hostkey=yes 
    depth=5 
    dest={{ webapp_dir }} 

yani YAML tek bir satır içine aşağıdaki satırları bağlamak veya böyle söyler git: sonra > ile:

- name: Checkout the source code 
    git: 
    accept_hostkey: yes 
    depth: 5 
    dest: "{{ webapp_dir }}" 

yani kullanarak iki nokta üst üste eşit işaretler yerine. Bu durumda, {{ webapp_dir }} ile ilgili alıntılar önemlidir (bkz. ansible's documentation about this issue).

+1

Alıntılar konusunu biliyorum. Ayrıca>> olarak tüm işleri mükemmel yazdığım> 100 görev olarak gerekli değildir. Bu ödeme işe yaradı, bu yüzden bana göre bir yazım hatası değil. Sadece master yerine bir şube belirttiğimde işe yaramıyor. Ama eğlendirmek için öneriyi denedim ve aynı şeyi verdi. Bu yüzden bir sözdizimi hatası olmadığına karar verebilirim. – gtheys

0

Bu, yapılandırma dosyanızda bir suçlu olabilecek webapp_version değeridir. Bunu bu şekilde kullandım ve hem ana hem de sürüm/1.0 değerleri için çalıştığı kodu test ettim.

- name: Checkout the source code 
    git: 
     dest=/tmp/dump 
     force=yes 
     key_file=ghtest 
     [email protected]:Myrepo/test.git 
     update=yes 
     version='release/1.0' 
    register: git_output 
+1

Daha önce yaptığınız gibi açık bir şekilde yapmaya çalıştım ya da çalışmıyor. Sunucunun yanında bir şube olmadığını görebiliyorum .... – gtheys