Wie die meisten, die diese Frage besuchten, war ich absolut frustriert, einen Weg zu finden, den Download der neuesten Version oder eines Repos in Github vollständig zu automatisieren . Der Vorteil dieser Lösung besteht darin, dass Sie keine Versions- oder Tag-Nummer angeben müssen - sie wird nur die NEUESTE erhalten .
Ich habe meine Tests mit dem folgenden Github-Benutzer & Repo durchgeführt:
" f1linux " = Github-Benutzer
" pi-ap " = Repo
Der beliebige Verzeichnisname, in dem das Repo gespeichert wird, wird wie folgt festgelegt:
--one-top-level="pi-ap"
DIREKTE:
Mit den " Web Developer " -Tools von Firefox (3 Balken in der oberen rechten Ecke) wurde im Abschnitt " Netzwerk ", zu dem ich gefunden habe, https://api.github.com
umgeleitet. Durch Weiterleiten https://codeload.github.com
des curl
an konnte tar
ich das neueste versionierte Repo abrufen und es unter einem vorhersehbaren Namen speichern es könnte betrieben werden auf:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
INDIREKT:
Nachdem ich mithilfe einer DIRECT- URL vollautomatische Downloads der neuesten Version erhalten hatte , konzentrierte ich mich darauf, dasselbe mit Githubs Umleitung zu erreichen:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Bevorzugte Methode:
Bitte beachten Sie jedoch gemäß dem Kommentar von Von, dass INDIREKT die bevorzugte Methode ist
Weitere Validierung:
Um sicherzustellen, dass meine Ergebnisse mit anderen versionierten Github-Repos reproduzierbar sind, wurden dieselben Tests erfolgreich für das doctl
API-Toolkit von Digital Ocean durchgeführt (mit dem die gesamte Übung tatsächlich begonnen hat!):
Beide DIREKT als auch INDIRECT arbeiten mit derselben Form wie oben und ändern lediglich den Benutzernamen und das Repo:
DIREKTE:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
INDIREKT:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1