6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub ActionsAdvent Calendar 2024

Day 13

Self-hosted Runnerを取りやめた話

Posted at

OSS "Pelemay Backend" で行っているGitHub Actionsによる自動化事例2023年12月版で報告していたように,Self-hosted Runnerを用いてmacOSのx86_64とApple Siliconの両方の自動テストを行っていましたが,最近のGitHubの仕様変更に伴い,セキュリティ上の理由でSelf-hosted Runnerの使用が危ぶまれたので,取り急ぎ,中止することにしました.本記事では,その経緯について説明します.

GitHub Actions

GitHub Actionsを使用すると、ワールドクラスのCI / CDですべてのソフトウェアワークフローを簡単に自動化できます。 GitHubから直接コードをビルド、テスト、デプロイでき、コードレビュー、ブランチ管理、問題のトリアージを希望どおりに機能させます。

GitHubで行ったソースコード変更等のトリガーで,自動テスト等のスクリプトを自動実行できる便利な仕組みです.

Self-hosted Runner

GitHub Actionsでは,通常,GitHub-hosted Runnerと言って,GitHubが用意するクラウド環境上でスクリプトを自動実行することができるのですが,Self-hosted Runnerを用いると,レポジトリオーナーが用意したローカル環境でスクリプトを自動実行することができます.

Self-hosted Runnerのセキュリティ上の注意点

公開レポジトリでは,任意のコードを含むPull Requestを送ることができます.したがって,Self-hosted Runnerを運用していると,悪意あるコードを実行してしまう恐れがあります.

今まで運用していた方式

OSS "Pelemay Backend" で行っているGitHub Actionsによる自動化事例2023年12月版で今まで運用していた方式は次のとおりです.

  • main ブランチへは check_by_SHR ブランチからのみ Pull Request を受け付けるように設定する
  • 一般から受け付けた Pull Requestを元にして,check_by_SHR ブランチから main ブランチへ Pull Request を発行する際には,コードレビューを行い,悪意あるコードが含まれていないことをよく確認するフローとする.
  • main ブランチへの Pull Request の時に Self-hosted Runnerによる自動テストを実行する

いつの間にかGitHubの仕様が変わっていた点について

  • main ブランチへは check_by_SHR ブランチからのみ Pull Request を受け付けるように設定する

これをSetting>Rules>Rulesetsで main ブランチのルールを作成し,Restrict branch names を用いて check_by_SHR ブランチのみマッチするように設定していたように記憶しているのですが,いつの間にかEnterprise版でのみ利用できることになってしまっていました.

検討した結果

私事ですが,今,私が使える研究開発のための予算が年度末のため欠乏している関係で,Enterpriseにすぐに加入することができません.そこで,応急措置として,Self-hosted Runnerの運用自体を取りやめることにしました.

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?