Exécutez une tâche de build uniquement lorsque les modifications ont été extraites d'un référentiel git
Question
J'ai un programme C++ hébergé dans le référentiel git Bitbucket que je compile avec CMake.La pièce actuelle peut être vue ci-dessous.Ça marche bien sauf build
-la tâche est exécutée à chaque fois que la lecture est exécutée.Au lieu de cela, j'aimerais build
-tâche à exécuter uniquement lorsqu'une nouvelle version du logiciel est extraite git-module.Comment puis-je le savoir build
-tâche si clone
-task a trouvé une nouvelle version ?
---
# 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
La solution
Vous pouvez enregistrer une variable avec la sortie de clone
tâche et invoquer build
tâche lorsque l'état de clone
la tâche est modifiée
Par exemple:
---
# 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow