Cú pháp thích hợp cho liên kết tượng trưng


24

Cú pháp thích hợp để tạo liên kết tượng trưng bằng cách sử dụng ansible là gì? Tôi đang tạo một môi trường ảo Vagrant và chạy ansible với tư cách là nhà cung cấp của tôi. Mọi thứ hoạt động tốt cho đến khi tôi cố gắng liên kết đến tệp cấu hình nginx trang web của tôi từ kích hoạt trang web. Đây là những gì tôi đã thử.

- 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

Khi tôi làm điều này, tôi đã gặp lỗi sau.

LRI: Lỗi cú pháp trong khi tải tập lệnh YAML, /Users/username/project/ansible/roles/nginx/t task / main.yml

Lưu ý: Lỗi thực sự có thể xuất hiện trước vị trí này: dòng 24, cột 1

- tên: Symlink đến example.dev.conf

tệp: path = / etc / nginx / site-enable / example.dev.conf

bang = liên kết

^ Ansible không hoàn thành thành công. Bất kỳ đầu ra lỗi nên được nhìn thấy ở trên. Vui lòng sửa các lỗi này và thử lại.

Tôi cũng đã thử sử dụng src=/etc/nginx/sites-enabledthay vì pathnhưng dường như tôi không thể tìm thấy một ví dụ rõ ràng về điều này trên web.

Thông số kỹ thuật:

  • OS X Mavericks
  • mơ hồ 1.6.3
  • VirtualBox 4.3
  • nginx 1.6.0
  • khả năng 1.6.2
  • Ubuntu 14.04

Câu trả lời:


35

Từ tài liệu :

src , đường dẫn của tệp để liên kết đến (chỉ áp dụng cho state = link). Sẽ chấp nhận đường dẫn tuyệt đối, tương đối và không tồn tại. Đường dẫn tương đối không được mở rộng.

Bạn cần sử dụng srcdestkhi sử dụng state=link, không path. Bạn cũng cần đảo ngược nguồn và đích của mình, dường như là cách sai (xung quanh giả định rằng bạn thực sự muốn liên kết đến sites-availabletừ đó sites-enabled) - srclà đường dẫn để liên kết đến, destlà nơi tạo liên kết tượng trưng.

- 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.