사용 가능한 변수 목록과 심볼릭 링크 만들기


17

ansible에 새로운 – 나는 src 디렉토리에있는 많은 파일들을 목적지에 심볼릭 링크하려고한다.

  file:
    src: /drupal/drush/{{ item.path }}.aliases.drushrc.php
    dest: /home/vagrant/.drush/{{ item.dest }}.aliases.drushrc.php
    with_items:
      - { path: 'new', dest: 'new' }
      - { path: 'vmdev', dest: 'vmdev' }
    state: link

오류가 발생했습니다. fatal: [vmdev] => One or more undefined variables: 'item' is undefined

누군가 올바른 방향으로 나를 가리킬 수 있습니까? 건배

답변:


30

들여 쓰기가 잘못 with_items되었습니다 file. 와 같은 수준이어야합니다 . 이것은 당신이 원하는 것입니다 :

file:
  src: "/drupal/drush/{{ item.path }}.aliases.drushrc.php"
  dest: "/home/vagrant/.drush/{{ item.dest }}.aliases.drushrc.php"
  state: link
with_items:
  - { path: 'new', dest: 'new' }
  - { path: 'vmdev', dest: 'vmdev' }

매력처럼 작동합니다!
williamsowen

2
구문 / 들여 쓰기에 문제가있는 경우 atom + 플러그인을 통해 편집하십시오 : linter, ansible-linter, js-yaml-linter
Jonathan

7

귀하의 구문이 잘못되었다고 생각합니다. 이 시도:

file: >
  src=/drupal/drush/{{ item.path }}.aliases.drushrc.php
  dest=/home/vagrant/.drush/{{ item.dest }}.aliases.drushrc.php
  state=link
with_items:
  - { path: 'new', dest: 'new' }
  - { path: 'vmdev', dest: 'vmdev' }

3

소스와 대상 링크의 이름이 동일하면 훨씬 간단해야합니다.

- file:
    src: /drupal/drush/{{ item }}.aliases.drushrc.php
    dest: /home/vagrant/.drush/{{ item }}.aliases.drushrc.php
    state: link
  with_items:
    - new
    - vmdev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.