2014-04-11 20 views
20

çekildiğinde yapıyorum CMake ile derlediğim Bitbucket git deposunda barındırılan bir C++ programım var. Mevcut oyun aşağıda görülebilir. build dışında gayet iyi çalışıyor - oyun her çalıştırıldığında çalıştırılıyor. Bunun yerine build -task'ın yeni yazılım sürümü git -module tarafından çekildiğinde çalışmasını istiyorum. clone -task yeni sürümü bulsaydı build -task'ta nasıl anlatabilirim?Yapılandırma görevini yalnızca bir git deposundan

--- 
# tasks of role: foo 

- name: clone repository 
    git: [email protected]:foo/foo.git 
     dest={{ foo.dir }} 
     accept_hostkey=yes 

- name: create build dir 
    file: state=directory path={{ foo.build_dir }} 

- name: build 
    command: "{{ item }} chdir={{ foo.build_dir }}" 
    with_items: 
    - cmake .. 
    - make 

cevap

33

Sen clone görevin çıkışı ile değişken kayıt ve clone görevin devlet Örneğin

değiştirildiğinde build görevi çağırabileceği: Büyü gibi

--- 
# tasks of role: foo 

- name: clone repository 
    git: [email protected]:foo/foo.git 
     dest={{ foo.dir }} 
     accept_hostkey=yes 
    register: gitclone 

- name: create build dir 
    file: state=directory path={{ foo.build_dir }} 

- name: build 
    command: "{{ item }} chdir={{ foo.build_dir }}" 
    with_items: 
    - cmake .. 
    - make 
    when: gitclone.changed 
+0

Çalışır! Aslında ben çok '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'çıktı'nın çıktısını kaydetmek için' register'-variable’lerini kullanıyorum, ancak herhangi bir modülün çıktı kaydını yakalamak için kullanabileceğimi fark etmedim (''vv' kullanıyorum bu yüzden mevcut olanı kolayca görebiliyorum. – user272735

+0

Bekle, bu koşular arasında durumu koruyacak mı? – Mxx

+2

Hayır, git, uzak depodan güncellemeleri alacağı zaman, 'bildirim’i almaktır. Durum kaydedilemedi – ghloogh

İlgili konular