🚀
self-hosted runner のダウンロードパスをコマンドで取得
self-hosted runner のダウンロードパスをコマンドで取得
self-hosted runner の追加手順の自動化するのに必要なダウンロードパスをコマンドで取得する。
結論 (linux x64 版の場合)
DOWNLOAD_PATH=$(curl -L \
-s \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/actions/runner/releases?per_page=1 \
| jq -r ".[].assets[].browser_download_url" \
| grep linux-x64)
wget $DOWNLOAD_PATH -O actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz
この記事の次のステップ
self-hosted runner のConfigure で使用するトークンの生成をコマンドで取得
説明
参考サイト
通常シーケンス (手動)
Setting
の Actions
の Runners
に移動する。
New self-hosted runner
を押す。
表示されるコマンドを実行する。
# Create a folder
$ mkdir actions-runner && cd actions-runner# Download the latest runner package
$ curl -o actions-runner-linux-x64-2.316.1.tar.gz -L https://github.com/actions/runner/releases/download/v2.316.1/actions-runner-linux-x64-2.316.1.tar.gz# Optional: Validate the hash
$ echo "d62de2400eeeacd195db91e2ff011bfb646cd5d85545e81d8f78c436183e09a8 actions-runner-linux-x64-2.316.1.tar.gz" | shasum -a 256 -c# Extract the installer
$ tar xzf ./actions-runner-linux-x64-2.316.1.tar.gz
問題点
actions-runner-linux-x64-2.316.1.tar.gz
の部分は新しいバージョンがリリースされるとバージョン番号が変わるので、手動で、New self-hosted runner
を押す必要がある。
対策
ダウンロードのパスをよく見ると、https://github.com/actions/runner のリポジトリの v2.316.1 のタグリリースの中の artifact であることがわかる。
つまり、 https://github.com/actions/runner/releases の Assets の中で必要なファイルの ダウンロードパスをGitHub API を使って取得する。
使用する GitHub API
使用するコマンド
curl -L \
-s \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/actions/runner/releases?per_page=1 | jq -r ".[].assets[].browser_download_url" | grep linux-x64
Authorization: Bearer
を指定しなくても動いた。
ダウンロード URL の取得処理 (実行例)
$ curl -L \
-s \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/actions/runner/releases?per_page=1 | jq -r ".[].assets[].browser_download_url" | grep linux-x64
https://github.com/actions/runner/releases/download/v2.316.1/actions-runner-linux-x64-2.316.1.tar.gz
Discussion