Come la maggior parte delle persone che visitano questa domanda, sono stato assolutamente frustrato nel trovare un modo per automatizzare completamente il download dell'ultima versione aggiornata o un repository in Github. Il vantaggio di questa soluzione è che non è necessario specificare alcun numero di rilascio o tag: prenderà solo l' ULTIMO .
Ho condotto i miei test utilizzando il seguente utente e repository Github:
" f1linux " = Utente Github
" pi-ap " = Repo
Il nome di directory arbitrario in cui viene salvato il repository è impostato in:
--one-top-level="pi-ap"
DIRETTO:
Usando gli strumenti " Web Developer " di Firefox (3 barre nell'angolo in alto a destra), nella sezione " Rete " ho trovato il https://api.github.com
reindirizzamento a https://codeload.github.com
, quindi eseguendo il piping curl
al tar
sono stato in grado di afferrare l'ultimo repository con versione più recente e salvarlo con un nome prevedibile così potrebbe funzionare su:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
INDIRETTI:
Dopo aver ottenuto download completamente automatizzati dell'ultima versione aggiornata utilizzando un URL DIRECT , ho rivolto la mia attenzione al raggiungimento dello stesso con il reindirizzamento di Github:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Metodo preferito:
Tuttavia, si prega di notare che, secondo il commento di Von di seguito, INDIRETTO è il metodo preferito
Ulteriore convalida:
Per garantire che i miei risultati fossero riproducibili su altri repository Github con versione, gli stessi test sono stati eseguiti con successo per l' doctl
API Toolkit di Digital Ocean (che è ciò che ha iniziato l'intero esercizio in realtà!):
Sia DIRECT che INDIRECT funzionano utilizzando lo stesso modulo di cui sopra, cambiando semplicemente nome utente e repository:
DIRETTO:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
INDIRETTI:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1