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에 대한 심볼릭 링크
파일: 경로=/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
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