使用 ansible 和变量列表创建符号链接

wil*_*wen 17 ansible

全新的 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
Run Code Online (Sandbox Code Playgroud)

我收到错误: fatal: [vmdev] => One or more undefined variables: 'item' is undefined

有人可以指出我正确的方向吗?干杯

dto*_*lis 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' }
Run Code Online (Sandbox Code Playgroud)

  • 如果您有语法/缩进问题,请通过 atom + 插件进行编辑:linter、ansible-linter、js-yaml-linter (2认同)

EEA*_*EAA 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' }
Run Code Online (Sandbox Code Playgroud)