Chciałbym zastąpić /etc/nginx/sites-enabled
dowiązaniem symbolicznym do mojego repozytorium. Próbuję to zrobić przy użyciu modułu file
, ale to nie działa, ponieważ moduł plików nie usuwa katalogu z wymuszoną opcją.Jak zamienić katalog na dowiązanie symboliczne za pomocą ansible?
- name: setup nginx sites-available symlink
file: path=/etc/nginx/sites-available src=/repo/etc/nginx/sites-available state=link force=yes
notify: restart nginx
Mogę zrezygnować z używania powłoki.
- name: setup nginx sites-available symlink
shell: test -d /etc/nginx/sites-available && rm -r /etc/nginx/sites-available && ln -sT /repo/etc/nginx/sites-available /etc/nginx/sites-available
notify: restart nginx
Czy istnieje lepszy sposób na osiągnięcie tego celu zamiast powrotu do powłoki?
Teraz czytam swoje pytanie właściwie: dlaczego chcesz zastąpić cały folder z włączonymi witrynami? Czy nie jest bardziej zwyczajowo dodawać linki w witrynach z włączonymi opcjami do witryn dostępnych (lub gdzieś indziej, takich jak twój projekt)? –
To jest sposób, w jaki zostało zrobione we wcześniejszej konfiguracji i próbowałem powtórzyć to samo z Ansible. Jedną z rzeczy, które mogłem zrobić, to symlink/repo/etc/nginx/sites-available/* do/etc/nginx/sites-available /. W takim przypadku będę musiał pamiętać, aby uruchomić ansibli-playbook, jeśli dodaję nową stronę, której starałem się ominąć. –