2017-12-15 3 views
-1

Ich möchte Ansible ein .deb Paket von einer URL installieren, wenn die URL jede Woche ändert (wegen Updates). Es gibt einen Anker für die dynamische Download-URL auf einer statischen Download-Seite. Gibt es einen Trick, um die URL herausfinden zu können?Kann eine URL von einem Anker auf einer Webseite abgerufen werden?

z. auf einer bestimmten Seite, gibt es einen Link "Neueste Version" als so genannten:

<a href="URL_TO_DOWNLOAD_DEB">Latest version</a>. 

Kann ich ansible URL_TO_DOWNLOAD_DEB zu bekommen?

Hier ist ein Trick, der hoffentlich illustriert, was ich meine. Offensichtlich funktioniert das nicht.

- name: Find link to DEB package 
    regex_from_url: 
    url: http://some.download.page 
    regex: g/<a href="([^"]+)">Latest version<\/a>./ 
    register: URL_TO_DOWNLOAD_DEB 
- name: Install DEB package 
    apt: 
    deb: {{ URL_TO_DOWNLOAD_DEB }} 
+0

auf Leute kommen, downvote ohne Kommentar ist kleinlich. – Redsandro

Antwort

1

Sie so etwas versuchen:

- name: Send GET request to target 
    shell: wget -O - http://some.download.page | grep '>Latest version<' | sed -n 's/.*href="\(.*\)".*/\1/p' 
    register: web 

- name: Show download link 
    debug: 
    msg: "{{ web.stdout }}" 
+0

Danke Mann, das funktioniert perfekt. – Redsandro

Verwandte Themen