0Pricing
DevOps Bootcamp · レッスン

オンプレミス向けセルフホステッドランナー

特定のハードウェア要件やセキュリティ要件に対応するため、自分の環境でワークフローを実行するセルフホステッドランナーを設定・管理します。

「オンプレミス向けセルフホステッドランナー」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

セルフホストランナー入門

セルフホストランナーの世界へようこそ。セルフホストランナーは、GitHub Actionsのワークフローを自分のマシン上で実行できる強力なツールです。

GitHubのクラウドベースのrunnerを使う代わりに、自分で用意したハードウェア、オペレーティングシステム、ネットワーク環境でCI/CDジョブを実行できます。

セルフホストランナーを使う理由

GitHubホストランナーは便利ですが、セルフホストランナーには次のような独自のメリットがあります。

  • 特定のハードウェア: GPUや特定のCPUアーキテクチャなど、カスタムハードウェアを使用できます。
  • ネットワークアクセス: プライベートネットワークやリソース(データベース、内部サービス)に直接接続できます。
  • セキュリティ: 機密性の高いビルド環境を、自分で管理するインフラストラクチャ内に保持できます。
  • コストの最適化: 既存のインフラストラクチャを活用することで、大量利用時のコストを削減できる可能性があります。

runnerマシンの要件

セルフホストランナーをセットアップするには、お使いのマシンがいくつかの基本要件を満たしている必要があります。

  • オペレーティングシステム: Linux、Windows、またはmacOSがサポートされています。
  • ネットワークアクセス: ランナーマシンがGitHub.com(またはGitHub Enterprise Server)と通信できる必要があります。
  • リソース: ワークフロージョブを処理するのに十分なCPU、RAM、ディスク容量が必要です。
  • ソフトウェア: ワークフローで必要となるツールやSDKをランナーにインストールしておく必要があります。

セットアップ手順の概要

セルフホストランナーのセットアップには、いくつかの重要な手順があります。これは、お使いのマシンをGitHub Actions専用のワーカーとして準備する作業です。

  1. GitHubから一意の登録トークンを生成します。
  2. ランナーアプリケーションをマシンにダウンロードして展開します。
  3. GitHubリポジトリまたはOrganizationのURLとトークンを使ってランナーを設定します。
  4. ランナーアプリケーションを起動し、ジョブを待ち受けます。

ステップ1: ランナートークンを取得する

まず、新しいランナーをセットアップすることをGitHubに通知する必要があります。そのためには一意のトークンが必要です。

GitHub.comでリポジトリまたはOrganizationの設定に移動します。

  • リポジトリの場合: Settings > Actions > Runners > New self-hosted runner
  • Organizationの場合: Settings > Actions > Runners > New self-hosted runner

画面の指示に従ってトークンを生成します。このトークンは登録のみに使用されます。

ステップ2: ランナーアプリをダウンロードする

次に、選択したマシンにランナーアプリケーションをダウンロードします。GitHubのUIに、お使いのOSに対応した具体的なコマンドが表示されます。

たとえば、Linuxマシンでは次のように実行します。

mkdir actions-runner
cd actions-runner
curl -o actions-runner-linux-x64-2.309.0.tar.gz -L https://github.com/actions/runner/releases/download/v2.309.0/actions-runner-linux-x64-2.309.0.tar.gz
tar xzf ./actions-runner-linux-x64-2.309.0.tar.gz

ステップ3: ランナーを設定する

展開したら、ランナーを設定します。これにより、ランナーがGitHubリポジトリまたはOrganizationに接続され、ラベルを設定できるようになります。

config.sh(Linux/macOS)またはconfig.cmd(Windows)スクリプトを実行します。先ほど生成したGitHubのURLとトークンを入力します。

./config.sh --url https://github.com/your-org/your-repo --token YOUR_TOKEN --labels my-linux-runner,production

ステップ4: ランナーを起動する

設定が完了したら、ランナーアプリケーションを起動できます。ランナーはGitHubに接続し、ジョブを待機します。

./run.sh(Linux/macOS)またはrun.cmd(Windows)を実行するだけです。本番環境では、ランナーをサービスとしてインストールし、自動的に起動するようにすることをおすすめします。

./run.sh

ワークフローでランナーを使用する

セルフホストランナーを使用するには、runs-onキーワードを使ってワークフローのYAMLファイルに指定します。self-hosted、または設定時に割り当てた特定のラベルを使用できます。

name: My Self-Hosted Workflow
on: [push]
jobs:
  build:
    runs-on: [self-hosted, my-linux-runner]
    steps:
      - uses: actions/checkout@v4
      - run: echo "Hello from my custom runner!"

簡単な確認: ランナーのメリット

セルフホストランナーには、GitHubホストランナーにはない独自のメリットがあります。セルフホストランナーを使用する主なメリットは、次のうちどれでしょうか。

まとめ: セルフホストランナー

セルフホストランナーについて学びました。セルフホストランナーを使うと、自分のインフラ上でGitHub Actionsのワークフローを実行でき、ハードウェア、ネットワークアクセス、セキュリティを管理できます。

ここでは、トークンの生成、アプリのダウンロード、ランナーの設定と起動というセットアップ手順を確認しました。また、runs-onを使ってワークフローのYAMLファイルでカスタムランナーを指定する方法も学びました。

よくある質問

「オンプレミス向けセルフホステッドランナー」レッスンは無料ですか?

はい。「オンプレミス向けセルフホステッドランナー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「オンプレミス向けセルフホステッドランナー」で何を学びますか?

特定のハードウェア要件やセキュリティ要件に対応するため、自分の環境でワークフローを実行するセルフホステッドランナーを設定・管理します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「オンプレミス向けセルフホステッドランナー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. カスタム GitHub Actions の開発
  2. オンプレミス向けセルフホステッドランナー
  3. エンタープライズシステムとの統合
  4. Composite ActionsとMarketplaceへの公開
← DevOps Bootcampに戻る