Ansible symlink için uygun sözdizimi


24

Ansible kullanarak sembolik linkler oluşturmak için uygun sözdizimi nedir? Bir Vagrant sanal ortamı yaratıyorum ve tedarikçim olarak uyumlu davranıyorum. Sitelerden etkin olan site nginx yapılandırma dosyama bağlanmaya çalışana kadar her şey yolunda gider. İşte denedim.

- 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

Bunu yaptığımda aşağıdaki hata ile karşılaştım.

HATA: YAML komut dosyası yüklenirken sözdizimi hatası, /Users/username/project/ansible/roles/nginx/tasks/main.yml

Not: Hata aslında bu konumdan önce görünebilir: satır 24, sütun 1

- name: example.dev.conf dosyasına bağlantı

file: path = / etc / nginx / sites etkin / example.dev.conf

devlet = bağlantı

^ Ansible başarıyla tamamlanamadı. Herhangi bir hata çıktısının yukarıda görülmesi gerekir. Lütfen bu hataları düzeltip tekrar deneyin.

Bunun src=/etc/nginx/sites-enabledyerine kullanmayı da denedim pathama bunun kesin bir örneğini web'de bulamıyorum.

Özellikleri:

  • OS X Mavericks
  • serseri 1.6.3
  • VirtualBox 4.3
  • nginx 1.6.0
  • makul 1.6.2
  • Ubuntu 14.04

Yanıtlar:


35

Gönderen belgeler :

src , bağlanılacak dosyanın yolu (yalnızca durum = link için geçerlidir). Mutlak, göreceli ve var olmayan yolları kabul eder. Göreceli yollar genişletilmez.

Sen kullanmak gerekir srcve destkullanırken state=linkdeğil path. Ayrıca (eğer gerçekten linke istediğiniz varsayarak etrafında yanlış bir yol olarak görünen kaynak ve hedef, tersine gerekir sites-availabledan sites-enabled) - srciçin bağlantıyı yoludur, destsembolik yaratmak yerdir.

- 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.