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에만 적용됨). 절대, 상대 및 존재하지 않는 경로를 허용합니다. 상대 경로는 확장되지 않습니다.
를 사용해야 하며 src
를 dest
사용할 때는 state=link
가 아닌 을 사용해야 합니다 path
. 또한 잘못된 방향으로 보이는 소스와 대상을 반전시켜야 합니다(실제로 sites-available
from 에 연결하려고 한다고 가정 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