Подтвердить что ты не робот

Запуск задачи сборки только тогда, когда изменения были извлечены из репозитория git

У меня есть программа на С++, размещенная в репозитории Bitbucket git, который я компилирую с помощью CMake. Текущую игру можно увидеть ниже. Он отлично работает, за исключением того, что build -task запускается каждый раз при запуске игры. Вместо этого я бы хотел, чтобы build -task запускался только тогда, когда новая версия программного обеспечения вытягивалась git -module. Как я могу сказать в build -task, если clone -task нашел новую версию?

---
# 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
4b9b3361

Ответ 1

Вы можете зарегистрировать переменную с выходом задачи clone и вызвать задачу build при изменении состояния задачи clone

Например:

---
# 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