Chciałbym rozszerzyć mój ansibliotek, aby zainstalować/zweryfikować instalację phantomjs i wkhtmltopdf na moim komputerze z Debianem 7. Oba programy są dostępne w postaci spakowanych archiwów za pośrednictwem protokołu HTTP. Znam moduł get_url, ale nie rozpakowuję rzeczy, a gdybym dodał kilka poleceń powłoki do rozpakowywania i przenoszenia plików binarnych, podejrzewam, że za każdym razem, gdy uruchomię ansibl, paczki zostaną pobrane, rozpakowane i przeniesione ponownie, powodując niepotrzebny ruch w sieci.Odpowiedz: instaluj archiwum przez HTTP
Jak mogę to rozwiązać? Czy powinienem utworzyć plik .deb i uruchomić go za pomocą komendy apt, czy też powinienem utworzyć nowy moduł ansibli do instalowania archiwów lub czy jest coś, co przeoczyłem?
miły, ja nie wyglądają na tyle uważnie docs GET_URL, stwierdzają całkiem wyraźnie, że plik tylko wtedy, gdy nie obecny w dest. Czy istnieje dokumentacja na filtrze 'zmienionym', mogę znaleźć tylko przykład z jego użyciem, ale nie ma żadnego wyjaśnienia? – Simon
W rzeczywistości "zmieniony" jest prawdziwy, jeśli zmienna jest zarejestrowana w zadaniu, które zwraca "zmieniony". Oznacza to, że coś "zmieniło się", gdy zadanie zostało uruchomione. W naszym przypadku oznacza to, że plik nie był obecny i pobrany. Nie jest to specyficzne dla 'get_url', jest to filtr, który możesz zastosować do zmiennych (zobacz http://docs.ansible.com/playbooks_variables.html#id21). – leucos
Zauważ, że transfer pliku został zakorkowany, jesteś bezpieczny, ponieważ 'get_url' skopiuje plik tylko do określonego miejsca docelowego dopiero po pomyślnym przeniesieniu. Uwaga: Naprawiłem unarchive src filename, która była nieprawidłowa – leucos