Como a maioria visitar esta pergunta, eu estava absolutamente frustrado com encontrar uma maneira de baixar totalmente automatizar o ÚLTIMAS versão de versão ou um repo no Github. O benefício desta solução é que você não precisa especificar nenhum número de release ou tag; ele apenas agarra o MAIS RECENTE .
Realizei meus testes usando o seguinte usuário e repositório do Github:
" f1linux " = Usuário do Github
" pi-ap " = Repo
O nome do diretório arbitrário no qual o repositório é salvo é definido em:
--one-top-level="pi-ap"
DIRETO:
Usando o Firefox " Web Developer Tools" (3 bares no canto superior direito), na " Rede de seção" Eu encontrei https://api.github.com
foi redirecionando para https://codeload.github.com
, assim, canalizando o curl
que tar
eu era capaz de pegar o último repo versionadas e guardá-lo para um nome previsível assim poderia ser operado em:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
INDIRETO:
Depois de obter downloads totalmente automatizados da versão mais recente usando um URL DIRECT , voltei minha atenção para conseguir o mesmo com o redirecionamento do Github:
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
Método preferido:
No entanto, observe o comentário de Von abaixo que INDIRETO é o método preferido
Validação adicional:
Para garantir que meus resultados fossem reproduzíveis em outros repositórios de versão do Github, os mesmos testes foram executados com sucesso para o doctl
kit de ferramentas API da Digital Ocean (que foi o que iniciou todo o exercício!):
Ambos DIRETA e INDIRETA trabalho usando a mesma forma que acima, apenas mudando o nome de usuário e repo:
DIRETO:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
INDIRETO:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1