gpt4 book ai didi

git - 仅当从 git 存储库中提取更改时才运行构建任务

转载 作者:IT王子 更新时间:2023-10-29 01:12:32 24 4
gpt4 key购买 nike

我有一个 C++ 程序托管在 Bitbucket git 存储库中,我正在使用 CMake 进行编译。当前的播放可以在下面看到。它工作正常,除了 build - 每次播放运行时都会运行任务。相反,我希望 build-task 仅在 git pull 出新软件版本时运行-模块。我如何在 build-task 中判断 clone-task 是否找到了新版本?

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

最佳答案

您可以使用clone 任务的输出注册变量,并在clone 任务状态改变时调用build 任务

例如:

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

关于git - 仅当从 git 存储库中提取更改时才运行构建任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23014713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com