この質問を頻繁に訪問するように、最新バージョンのリリースまたはGithubのリポジトリのダウンロードを完全に自動化する方法を見つけることに私は絶対に苛立ちました。このソリューションの利点は、リリース番号やタグ番号を指定する必要がないことです。最新のものを取得するだけです。。
次のGithubユーザーとリポジトリを使用してテストを実施しました。
" f1linux " = Githubユーザー
" pi-ap " = リポジトリ
レポの保存先の任意のディレクトリ名は、次の場所に設定されています。
--one-top-level="pi-ap"
直接:
Firefoxの「使用するWeb開発者、」ツール(右上の3つのバー)「のネットワーク私が見つけた」のセクションhttps://api.github.com
にリダイレクトされたhttps://codeload.github.com
ので、配管でcurl
のtar
I最新のバージョン管理リポジトリを取得し、その予測可能な名前にそれを保存することができましたそれを操作することができます:
curl https://codeload.github.com/f1linux/pi-ap/legacy.tar.gz/master | tar xzvf - --one-top-level="pi-ap" --strip-components 1
間接:
DIRECT URL を使用して最新バージョンのリリースの完全自動ダウンロードを達成した後、Githubのリダイレクトで同じことを達成することに注意を向けました。
curl -L https://api.github.com/repos/f1linux/pi-ap/tarball | tar xzvf - --one-top-level="pi-ap" --strip-components 1
推奨される方法:
ただし、以下のVonのコメントに従って、INDIRECTが推奨される方法であることに注意してください。
さらなる検証:
結果が他のバージョンのGithubリポジトリで再現可能であることを確認するために、同じテストがDigital Oceanの doctl
apiツールキット(これが実際に全体のエクササイズを開始したものです)。
DIRECTとINDIRECTはどちらも上記と同じ形式で機能し、ユーザー名とリポジトリを変更するだけです。
直接:
curl https://codeload.github.com/digitalocean/doctl/legacy.tar.gz/master | tar xzvf - --one-top-level="doctl" --strip-components 1
間接:
curl -L https://api.github.com/repos/digitalocean/doctl/tarball | tar xzvf - --one-top-level="doctl" --strip-components 1