У вас есть два разумных подхода, которые вы можете попробовать здесь, чтобы уменьшить повторение.
У вас может быть отдельный каталог shared-files
, который будет находиться в качестве родного брата в ваших папках ролей следующим образом:
play.yml
roles/
web/
tasks/
files/
other-multiple-files
role-2/
tasks/
files/
other-multiple-files
role-3/
tasks/
role-4/
tasks/
shared-files/
common-1
common-2
Затем вы должны ссылаться на это в задачах с относительным расположением файлов, из которых будет папка role / files:
- name: copy common-1
copy:
src: ../../common-1
dest: /path/to/dest/common-1
- name: copy role specific file
src: other-multiple-files
dest: /path/to/dest/other-multiple-files
Или, альтернативно, использовать относительный путь к папке , вы могли бы символизировать такие вещи следующим образом:
play.yml
roles/
web/
tasks/
files/
common-1 -> ../../common-1
common-2 -> ../../common-2
other-multiple-files
role-2/
tasks/
files/
common-1 -> ../../common-1
common-2 -> ../../common-2
other-multiple-files
role-3/
tasks/
files/
common-2 -> ../../common-2
role-4/
tasks/
files/
common-1 -> ../../common-1
shared-files/
common-1
common-2
И вы можете ссылаться на файл так, как если бы он был в каталоге role / files напрямую:
- name: copy common-1
copy:
src: common-1
dest: /path/to/dest/common-1
- name: copy role specific file
src: other-multiple-files
dest: /path/to/dest/other-multiple-files
Хорошо, я только что ответил.
Вместо того, чтобы искать предыдущий идентификатор фиксации из истории, предыдущий идентификатор фиксации должен быть тем, который меня интересует, с суффиксом ~ 1.
git diff HASH1 HASH1~1