使用 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 的符號鏈接
檔案:path=/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
- ubuntu 14.04
答案1
從文件:
原始碼,要連結到的文件的路徑(僅適用於 state=link)。將接受絕對路徑、相對路徑和不存在的路徑。相對路徑不展開。
使用時需要使用src
and ,而不是。您還需要反轉來源和目標,這似乎是錯誤的方式(假設您確實想連結到from ) -是連結到的路徑,是建立符號連結的位置。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