如何在 Ansible 中创建相对符号链接?

How to create a relative symlink in Ansible?

在我的剧本中,我需要为回购创建一个符号 link。

使用命令 (shell) 它可能会像这样工作:

########## Create symbolic link 
- name: Create symbolic link 
  shell : ln   -s  "{{SOURCE_FOLDER}}"  SYMLINK
  args :
    chdir : "/opt/application/i99/"
  when:
    - ansible_host in groups['ihm']

-> 像这样我的符号 link 是直接在 i99 repo /

中创建的

SYMLINK -> SOURCE_FOLDER

但是在使用 Ansible 文件模块时,像这样:

########## Create symbolic link 
- name: Create symbolic link 
  file:
   src: "/opt/application/i99/{{SOURCE_FOLDER}}/"
   dest: "/opt/application/i99/SYMLINK"
   state: link
  when:
    - ansible_host in groups['ihm']

我的输出是这样的:

SYMLINK -> /opt/application/i99/SOURCE_FOLDER

因为我不想让它指向整个路径,所以我需要获取第一种格式:

符号链接 -> SOURCE_FOLDER

我该怎么做?

简单地说:

- name: Create symbolic link 
  file:
    src: "{{SOURCE_FOLDER}}"
    dest: "/opt/application/i99/SYMLINK"
    state: link

如您在 the manual for the file module 中所见:

src  Will accept absolute, relative and nonexisting paths. Relative paths are not expanded.