Richtige Syntax für einen sichtbaren Symlink


24

Was ist die richtige Syntax zum Erstellen von Symlinks mit Ansible? Ich erstelle eine virtuelle Vagrant-Umgebung und arbeite als Provisioner. Alles funktioniert einwandfrei, bis ich versuche, über sites-enabled einen Link zu meiner Site-Nginx-Konfigurationsdatei zu erstellen. Folgendes habe ich versucht.

- 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

Wenn ich das tue, wird mir der folgende Fehler angezeigt.

FEHLER: Syntaxfehler beim Laden des YAML-Skripts /Users/username/project/ansible/roles/nginx/tasks/main.yml

Hinweis: Der Fehler kann tatsächlich vor dieser Position auftreten: Zeile 24, Spalte 1

- name: Symlink zu example.dev.conf

Datei: Pfad = / etc / nginx / sites-enabled / example.dev.conf

state = link

^ Ansible konnte nicht erfolgreich abgeschlossen werden. Jede Fehlerausgabe sollte oben sichtbar sein. Bitte beheben Sie diese Fehler und versuchen Sie es erneut.

Ich habe auch versucht, src=/etc/nginx/sites-enabledanstatt zu verwenden, pathaber ich kann anscheinend kein endgültiges Beispiel dafür im Web finden.

Technische Daten:

  • OSX Mavericks
  • Vagabund 1.6.3
  • VirtualBox 4.3
  • Nginx 1.6.0
  • Ansible 1.6.2
  • Ubuntu 14.04

Antworten:


35

Aus der Dokumentation :

src , Pfad der zu verlinkenden Datei (gilt nur für state = link). Akzeptiert absolute, relative und nicht vorhandene Pfade. Relative Pfade werden nicht erweitert.

Sie müssen srcund destbei der Verwendung state=linknicht verwenden path. Sie müssen auch Ihre Quelle und Ihr Ziel invertieren. Dies scheint der falsche Weg zu sein (vorausgesetzt, Sie möchten wirklich eine Verknüpfung zu sites-availablefrom herstellen sites-enabled).src ist der Weg , um eine Verknüpfung zu, destist , wo die Symlink zu erstellen.

- 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.