◾️はじめに
年末の休みに入る前にCI/CDが動かなくなった。 確認してみると、Self-hosted runner が Offline だった。 そこで、Self-hosted runner で Offline だった場合の対応について考える
目次
【1】Offlineがどういう状態か 1)Offlineになる要因 【2】切り分け方法について考える 1)要因「Self-hosted runner 自身が起動していない」について 2)要因「Self-hosted runner上のRunnerサービスが起動していない」について 3)要因「Self-hosted runner上のRunnerサービスがGitHubと連携できていない」について
【1】Offlineがどういう状態か
まずは、Self-hosted runner において、 Offline がどういう状態であるかを考える。 そのために、公式ドキュメントの定義を見てみる
より抜粋 ~~~~~~~~~~ The runner is not connected to GitHub. Runner が GitHub に接続されていません This could be because the machine is offline, the self-hosted runner application is not running on the machine, or the self-hosted runner application cannot communicate with GitHub. これは、そのマシンがOfflineであるか Self-hosted runner アプリケーションがマシン上で起動していないか Self-hosted runner アプリケーションがGitHubに対して、コミュニケーションが取れていないか が原因である。 ~~~~~~~~~~
1)Offlineになる要因
* 上記の公式ドキュメントを踏まえて、Offlineになる要因は 以下の3つが考えられる。 1)Self-hosted runner 自身が起動していない 2)Self-hosted runner上のRunnerサービスが起動していない 3)Self-hosted runner上のRunnerサービスがGitHubと連携できていない
【2】切り分け方法について考える
1)要因「Self-hosted runner 自身が起動していない」について
切り分け方法
* これは確かめるのは簡単で、例えば、 Self-hosted runner がAWS EC2上の場合、そのEC2がRunningであるかを確認する
2)要因「Self-hosted runner上のRunnerサービスが起動していない」について
切り分け方法
# Step0: Runnerサービスの状況を調べる $ ./config.sh status # Runningだったら、3)。Failedだったら、「要因特定」で原因を調査する
# Step1: Service名を調べる $ systemctl --type=service | grep actions.runner actions.runner.octo-org-octo-repo.hostname.service loaded active running GitHub Actions Runner (octo-org-octo-repo.hostname) # Step2: Runnerサービスの状況を調べる $ sudo journalctl -u actions.runner.octo-org-octo-repo.runner01.service
補足:journalctl について
* 以下の関連記事を参照のこと
systemd 〜 journalctl 〜
https://dk521123.hatenablog.com/entry/2025/01/01/012049
3)要因「Self-hosted runner上のRunnerサービスがGitHubと連携できていない」について
* 原因は、AWSの場合、通信(VPCなど)関連が考えられる
関連記事
Github Actions ~ Self-hosted runners / 入門編 ~
https://dk521123.hatenablog.com/entry/2023/12/18/204119
Github Actions ~ Self-hosted runners / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2024/02/07/002736
Self-hosted runner下の Github actions が突然エラー
https://dk521123.hatenablog.com/entry/2024/07/05/000212
Self-hosted Runner in CodeBuild ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2025/01/02/012254
systemd 〜 journalctl 〜
https://dk521123.hatenablog.com/entry/2025/01/01/012049