Ansible копировать файл на указанный c хост на основе имени файла - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь скопировать файлы в список хостов, и у каждого файла есть имя хоста, присутствующее в имени. Вот моя книга воспроизведения:

---
- hosts: ibank
  become: true
  become_exe: 'sudo su -'
  tasks:
   - name:"copy ibank to {{ inventory_hostname }} qa"
     copy: 
       src: "/usr/local/jenkins_workspace/Trunk_Ibank_Build_Ansible/ibank/DIST/ibank_{{ inventory_hostname }}_qa.war"  
       dest: "/usr/local/ibank/ibank_{{ inventory_hostname }}_qa.war"
     command:
      chdir: /usr/local/ibank
      cmd: /usr/local/ibank/restart.sh

Но когда файл запускается, я получаю сообщение «ERROR! Синтаксическая ошибка при загрузке YAML. Значения сопоставления здесь недопустимы». Не уверен, что я делаю неправильно в данный момент.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Вы должны перенести использование «командного» модуля в другую задачу - вы не можете использовать 2 модуля в одной задаче.

Попробуйте что-то вроде этого:

---
- hosts: ibank
  become: true
  become_exe: 'sudo su -'
  tasks:
   - name:"copy ibank to {{ inventory_hostname }} qa"
     copy: 
       src: "/usr/local/jenkins_workspace/Trunk_Ibank_Build_Ansible/ibank/DIST/ibank_{{ inventory_hostname }}_qa.war"  
       dest: "/usr/local/ibank/ibank_{{ inventory_hostname }}_qa.war"
   - name:"restart ibank after copy"
     command:
       chdir: /usr/local/ibank
       cmd: /usr/local/ibank/restart.sh
0 голосов
/ 22 апреля 2020

line 7: column 10 error syntax error: mapping values are not allowed here (syntax) вы забыли пробел6: name: "copy ibank to {{ inventory_hostname }} qa"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...