我在Bitbucket git存储库中托管了一个C ++程序,我正在使用CMake进行编译。目前的比赛可以在下面看到。它工作正常,除了build
- 每次运行游戏时都会运行任务。相反,我希望build
- 只有在git模块提取新软件版本时才能运行任务。我如何在build
- 如果clone
- 任务找到新版本?
---
# tasks of role: foo
- name: clone repository
git: repo=git@bitbucket.org: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
答案 0 :(得分:36)
您可以在clone
任务的输出中注册变量,并在build
任务的状态发生变化时调用clone
任务
例如:
---
# tasks of role: foo
- name: clone repository
git: repo=git@bitbucket.org: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