Доступная синхронизация с исключает файловую роль

Я создаю доступную роль для развертывания проекта laravel5, теперь я делаю это с помощью «синхронизации» (rsync)

У меня есть файл исключений для rsync, и файлы структурированы следующим образом:

роль: "deploy-laravel5":

 files
   excludes
 tasks
   main.yml

Теперь вот задачи в main.yml:

- name: deploy laravel projects
  synchronize:
    src: "{{item.src}}"
    dest: "{{item.dest}}"
    rsync_opts:
      - "--exclude-from=excludes"
  with_items: "{{projects}}"

какая-то пьеса:

---

- hosts: php
  gather_facts: no

  vars:
  projects:
    - {src: "../../twitter/", dest: "/web/boom/", envFile: "twitter.env"}


  roles:
    - deploy-laravel5

теперь, когда я запускаю это, ansible говорит, что не может найти файл "excludes"

 msg: rsync: failed to open exclude file excludes: No such file or directory (2)

Я пробовал много разных путей, но ничего, есть идеи, как указать на файл исключений?


person Tzook Bar Noy    schedule 03.10.2015    source источник
comment
Удалось ли вам решить эту проблему? Если да, не могли бы вы поделиться им с нами в качестве ответа? Вы пытались отладить его с помощью параметра -vvvv?   -  person wmk    schedule 11.10.2015
comment
опубликовал то, что я нашел и сделал, надеюсь, это поможет, и, пожалуйста, прокомментируйте, если это непонятно   -  person Tzook Bar Noy    schedule 12.10.2015


Ответы (1)


После того, как я довольно подробно просмотрел Интернет и документацию, я обнаружил, что вы не можете определять другие файлы только в «ролевых» файлах для создания шаблонов или копирования.

Но вы можете определить файл внутри playbook, поэтому теперь файловая структура выглядит так:

 roles/
    deploy/  (NOT "deploy-laravel5" as before)

 playbooks/
     deploy-laravel5/
        excludes-file
        deploy-playbook.yml

и playbook выглядит точно так же:

---

- hosts: php
  gather_facts: no

  vars:
    projects:
      - {src: "../../twitter/",
         dest: "/web/boom/", 
         excludes-file: "path/to/excludes/file",
         envFile: "twitter.env"}


  roles:
    - deploy
person Tzook Bar Noy    schedule 12.10.2015