Ansible - Лучший способ выполнить локальную копию (в pre_tasks)? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть книга воспроизведения, в которой требуется скопировать некоторые файлы из локального каталога в другой локальный каталог (на хосте ansible).Как правильно добиться этого?

Я нашел copy модуль , но, похоже, он предназначен только для копирования файлов на удаленный хост.Я также нашел local_action, но я очень не уверен, как его использовать.

Книга выглядит примерно так:

---
- hosts: all
  vars:
    proprietary_files: "/some/files/not/managed/by/vcs"
    filesToWorkOnLater: "config_files"
  pre_tasks:
    - name "Copy from {{proprietary_files}} to {{filesToWorkOnLater}}"
   # What to enter here to perform the local copy?
   roles:
     ...   
...     

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Ansible теперь поддерживает import_role , поэтому предварительные задачи больше не нужны.Нечто подобное должно решить вашу проблему:

- hosts: all
  tasks:
  - command: cp file1 file2
    delegate_to: 127.0.0.1
  - import_role:
      name: ...
0 голосов
/ 25 сентября 2019

Вы пробовали Delegate_to Localhost?Пожалуйста, попробуйте, как показано ниже.(Я не проверял)

  - name: copying to local
    copy:
     src: {{proprietary_files}}
     dest:  {{filesToWorkOnLater}}
    delegate_to: localhost
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...