Ansible Symlink의 올바른 구문

Ansible Symlink의 올바른 구문

ansible을 사용하여 심볼릭 링크를 생성하는 올바른 구문은 무엇입니까? Vagrant 가상 환경을 생성하고 프로비저너로 ansible을 실행 중입니다. 사이트 활성화에서 내 사이트 nginx 구성 파일에 대한 심볼릭 링크를 시도하기 전까지는 모든 것이 잘 작동합니다. 내가 시도한 것은 다음과 같습니다.

- name: Create symlink to example.com
  file: 
    path: /etc/nginx/sites-enabled/example.com 
    dest: /etc/nginx/sites-available/example.com 
    state: link
  notify: nginx reload

이 작업을 수행하면 다음 오류가 발생합니다.

오류: YAML 스크립트를 로드하는 중 구문 오류가 발생했습니다. /Users/username/project/ansible/roles/nginx/tasks/main.yml

참고: 실제로 오류는 이 위치(24행, 1열) 앞에 나타날 수 있습니다.

- 이름: example.dev.conf에 대한 Symlink

파일: 경로=/etc/nginx/sites-enabled/example.dev.conf

상태=링크

^ Ansible을 성공적으로 완료하지 못했습니다. 모든 오류 출력은 위에 표시되어야 합니다. 오류를 수정하고 다시 시도하세요.

나는 또한 src=/etc/nginx/sites-enabled대신을 사용해 보았지만 path웹에서 이것에 대한 확실한 예를 찾을 수 없는 것 같습니다.

명세서:

  • OSX 매버릭스
  • 방랑자 1.6.3
  • 버추얼박스 4.3
  • nginx 1.6.0
  • 앤서블 1.6.2
  • 우분투 14.04

답변1

에서문서:

소스, 링크할 파일의 경로입니다(state=link에만 적용됨). 절대, 상대 및 존재하지 않는 경로를 허용합니다. 상대 경로는 확장되지 않습니다.

를 사용해야 하며 srcdest사용할 때는 state=link가 아닌 을 사용해야 합니다 path. 또한 잘못된 방향으로 보이는 소스와 대상을 반전시켜야 합니다(실제로 sites-availablefrom 에 연결하려고 한다고 가정 sites-enabled). src은 링크할 경로이고, dest는 심볼릭 링크를 생성할 위치입니다.

- name: Create symlink to example.com
  file: src=/etc/nginx/sites-available/example.com dest=/etc/nginx/sites-enabled/example.com state=link
  notify: nginx reload

관련 정보