👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Stay tuned for a blog post later today.


ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

セルフホストランナーのモニタリングとトラブルシューティング

セルフホストランナーをモニターして、その活動を見て、一般的な問題を診断できます。

ここには以下の内容があります:

GitHubを使ったセルフホストランナーのステータスのチェック

セルフホストランナーは、GitHub上のOrganizationもしくはリポジトリ設定にあります。 セルフホストランナーを管理するには、セルフホストランナーが追加された場所に応じて以下の権限が必要になります。

  • ユーザのリポジトリ:リポジトリオーナーでなければなりません。
  • Organization:Organizationのオーナーでなければなりません。
  • Organizationのリポジトリ:Organizationのオーナーであるか、リポジトリへの管理アクセス権を持っていなければなりません。
  1. Organizationもしくはリポジトリ内で、メインページにアクセスして Settings(設定)をクリックしてください。

  2. サイドバーでActions(アクション)をクリックしてください。

    アクションの設定

  3. "Self-hosted runners(セルフホストランナー)"の下で、ランナーの名前、ラベル、ステータスを含む、登録されたランナーのリストを見ることができます。

    ランナーのリスト

    ステータスは以下のいずれかです。

    • Idle: ランナーはGitHubに接続されており、ジョブを実行する準備ができています。
    • Active: ランナーは現在ジョブを実行しています。
    • Offline: ランナーはGitHubに接続されていません。 これは、マシンがオフラインになっているか、マシン上でセルフホストランナーアプリケーションが動作していないか、セルフホストランナーアプリケーションがGitHubと通信できていないかです。

セルフホストランナーアプリケーションのログファイルのレビュー

セルフホストランナーアプリケーションのステータスと、そのアクティビティをモニタリングできます。 ログファイルは_diagディレクトリに保存されており、アプリケーションが起動されるたびに新しいログが生成されます。 ファイル名はRunner_で始まり、その後にアプリケーションが起動された時刻のUTCタイムスタンプが続きます。

ワークフロージョブの実行に関する詳細なログについては、Worker_ファイルについて述べた次のセクションを参照してください。

ジョブのログファイルのレビュー

セルフホストランナーアプリケーションは、処理するジョブごとに詳細なログファイルを生成します。 これらのファイルは_diagディレクトリに保存され、ファイル名はWorker_で始まります。

journalctlを使ってのセルフホストランナーアプリケーションのチェック

サービスを利用してアプリケーションを実行しているLinuxベースのセルフホストランナーでは、リアルタイムのアクティビティをモニターするのにjournalctlが使えます。 デフォルトのsystemdベースのサービスは、以下の命名規則を使います。 actions.runner.<org>-<repo>.<runnerName>.service この名前は80文字を超える場合には切り捨てられるので、サービス名を見つける方法としては.serviceファイルをチェックするのが良いでしょう。 例:

$ cat ~/actions-runner/.service
actions.runner.octo-org-octo-repo.runner01.service

journalctlを使って、セルフホストランナーのリアルタイムアクティビティをモニターできます。

$ sudo journalctl -u actions.runner.octo-org-octo-repo.runner01.service -f

この出力例では、runner01が起動し、testActionという名前をジョブを受信し、結果のステータスを表示していることがわかります。

Feb 11 14:57:07 runner01 runsvc.sh[962]: Starting Runner listener with startup type: service
Feb 11 14:57:07 runner01 runsvc.sh[962]: Started listener process
Feb 11 14:57:07 runner01 runsvc.sh[962]: Started running service
Feb 11 14:57:16 runner01 runsvc.sh[962]: √ Connected to GitHub
Feb 11 14:57:17 runner01 runsvc.sh[962]: 2020-02-11 14:57:17Z: Listening for Jobs
Feb 11 16:06:54 runner01 runsvc.sh[962]: 2020-02-11 16:06:54Z: Running job: testAction
Feb 11 16:07:10 runner01 runsvc.sh[962]: 2020-02-11 16:07:10Z: Job testAction completed with result: Succeeded

systemdの設定を見るには、サービスファイルを以下で見つけることができます。 /etc/systemd/system/actions.runner.<org>-<repo>.<runnerName>.service セルフホストランナーアプリケーションサービスをカスタマイズしたい場合、このファイルを直接修正しないでください。 「セルフホストランナーアプリケーションのサービスとしての構成」に述べられている指示に従ってください。

launchdを使ってのセルフホストランナーアプリケーションのチェック

サービスとしてアプリケーションを実行しているmacOSベースのセルフホストランナーでは、リアルタイムのアクティビティをモニターするのにlaunchctlが使えます。 デフォルトのlaunchdベースのサービスは、以下の命名規則を使います。 actions.runner.<org>-<repo>.<runnerName> この名前は80文字を超える場合には切り捨てられるので、サービス名を見つける方法としてはランナーのディレクトリ内にある.serviceファイルをチェックするのが良いでしょう。

% cat ~/actions-runner/.service
/Users/exampleUsername/Library/LaunchAgents/actions.runner.octo-org-octo-repo.runner01.plist

svc.shスクリプトはlaunchctlを使ってアプリケーションが動作しているかをチェックします。 例:

$ ./svc.sh status
status actions.runner.example.runner01:
/Users/exampleUsername/Library/LaunchAgents/actions.runner.example.runner01.plist
Started:
379 0 actions.runner.example.runner01

結果の出力には、プロセスIDとアプリケーションのlaunchdサービスの名前が含まれます。

launchdの設定を見るには、サービスファイルを以下で見つけることができます。 /Users/exampleUsername/Library/LaunchAgents/actions.runner.<repoName>.<runnerName>.service セルフホストランナーアプリケーションサービスをカスタマイズしたい場合、このファイルを直接修正しないでください。 「セルフホストランナーアプリケーションのサービスとしての構成」に述べられている指示に従ってください。

PowerShellを使ってのセルフホストランナーアプリケーションのチェック

サービスとしてアプリケーションを実行しているWindowsベースのセルフホストランナーでは、リアルタイムのアクティビティをモニターするのにPowerShellが使えます。 サービスはGitHub Actions Runner (<org>-<repo>.<runnerName>)という命名規則を使います。 ランナーのディレクトリ内にある.serviceファイルを調べても、サービスの名前を見つけることができます。

PS C:\actions-runner> Get-Content .service
actions.runner.octo-org-octo-repo.runner01.service

Windowsのサービスアプリケーション(services.msc)でも、ランナーのステータスを見ることができます。 PowerShellを使ってサービスが動作しているかをチェックできます。

PS C:\actions-runner> Get-Service "actions.runner.octo-org-octo-repo.runner01.service" | Select-Object Name, Status
Name                                                  Status
----                                                  ------
actions.runner.octo-org-octo-repo.runner01.service    Running

PowerShellを使ってセルフホストランナーの最近のアクティビティをチェックすることができます。 この出力例では、アプリケーションが起動し、testActionという名前をジョブを受信し、結果のステータスを表示していることがわかります。

PS C:\actions-runner> Get-EventLog -LogName Application -Source ActionsRunnerService

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
     136 Mar 17 13:45  Information ActionsRunnerService          100 2020-03-17 13:45:48Z: Job Greeting completed with result: Succeeded
     135 Mar 17 13:45  Information ActionsRunnerService          100 2020-03-17 13:45:34Z: Running job: testAction
     134 Mar 17 13:41  Information ActionsRunnerService          100 2020-03-17 13:41:54Z: Listening for Jobs
     133 Mar 17 13:41  Information ActionsRunnerService          100 û Connected to GitHub
     132 Mar 17 13:41  Information ActionsRunnerService            0 Service started successfully.
     131 Mar 17 13:41  Information ActionsRunnerService          100 Starting Actions Runner listener
     130 Mar 17 13:41  Information ActionsRunnerService          100 Starting Actions Runner Service
     129 Mar 17 13:41  Information ActionsRunnerService          100 create event log trace source for actions-runner service

自動アップデートプロセスのモニタリング

We recommend that you regularly check the automatic update process, as the self-hosted runner will not be able to process jobs if it falls below a certain version threshold. The self-hosted runner application automatically updates itself, but note that this process does not include any updates to the operating system or other software; you will need to separately manage these updates.

You can view the update activities in the Runner_ log files. 例:

[Feb 12 12:37:07 INFO SelfUpdater] An update is available.

In addition, you can find more information in the SelfUpdate log files located in the _diag directory.

セルフホストランナー内のコンテナのトラブルシューティング

Dockerがインストールされていることを確認

If your jobs require containers, then the self-hosted runner must be Linux-based and needs to have Docker installed. Check that your self-hosted runner has Docker installed and that the service is running.

You can use systemctl to check the service status:

$ sudo systemctl is-active docker.service
active

If Docker is not installed, then dependent actions will fail with the following errors:

[2020-02-13 16:56:10Z INFO DockerCommandManager] Which: 'docker'
[2020-02-13 16:56:10Z INFO DockerCommandManager] Not found.
[2020-02-13 16:56:10Z ERR  StepsRunner] Caught exception from step: System.IO.FileNotFoundException: File not found: 'docker'

Dockerの権限の確認

If your job fails with the following error:

dial unix /var/run/docker.sock: connect: permission denied

Check that the self-hosted runner's service account has permission to use the Docker service. You can identify this account by checking the configuration of the self-hosted runner in systemd. 例:

$ sudo systemctl show -p User actions.runner.octo-org-octo-repo.runner01.service
User=runner-user

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください