- 要件
- 特徴
- GitLabバージョンとの互換性
- GitLab Runnerのインストール
- GitLabランナーの登録
- GitLab Runner の使い方
- 執行者の選定
- GitLab Runner の設定
- トラブルシューティング
- リリースプロセス
- 貢献者
- 開発者
- 変更履歴
- ライセンス
GitLab Runner ドキュメント
GitLab Runnerはジョブを実行し、結果をGitLabに送り返すためのオープンソースプロジェクトです。 ジョブを調整するGitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと組み合わせて使用します。
要件
GitLab RunnerはGoで書かれており、単一のバイナリとして実行することができます。
GNU/Linux、MacOS、Windowsオペレーティングシステム上で動作するように設計されています。 Goバイナリをコンパイルできる限り、他のオペレーティングシステムでも動作するでしょう。
Dockerを使用する場合は、最新バージョンをインストールしてください。 GitLab Runnerには最低でもDockerv1.13.0
が必要です。
特徴
- 許可します:
- 複数のジョブを同時に実行。
- 複数のサーバで複数のトークンを使用(プロジェクト単位でも)。
- トークンごとの同時ジョブ数の制限。
- ジョブは実行できます:
- 地元では
- Dockerコンテナの使用。
- Dockerコンテナを使用し、SSH経由でジョブを実行します。
- さまざまなクラウドや仮想化ハイパーバイザー上でオートスケールするDockerコンテナの使用。
- リモートの SSH サーバーに接続中です。
- Goで書かれ、他の要件なしで単一のバイナリとしてディストリビューションされます。
- BashとWindows PowerShellに対応。
- GNU/Linux、MacOS、Windowsで動作します(Dockerを実行できる場所ならほとんどどこでも)。
- ジョブ実行環境のカスタマイズを可能にします。
- 再起動を伴わない設定の自動再読み込み
- Docker、Docker-SSH、Parallels、または SSH 実行環境をサポートする簡単なセットアップ。
- Dockerコンテナのキャッシュを有効にします。
- GNU/Linux、MacOS、Windows用のサービスとして簡単にインストールできます。
- PrometheusメトリクスHTTPサーバの組み込み。
- レフェリーワーカーは、Prometheusメトリクスやその他のジョブ固有のデータを監視し、GitLabに渡します。
GitLabバージョンとの互換性
GitLab RunnerのバージョンはGitLabのバージョンと同期している必要があります。 古いRunnerでも新しいGitLabのバージョンで動作する場合がありますし、その逆も同様ですが、バージョンに差があると機能が利用できなかったり、正しく動作しない場合があります。
マイナーバージョンアップデート間の後方互換性は保証されていますが、GitLabのマイナーバージョンアップデートは、Runnerが同じマイナーバージョンであることを必要とする新機能を導入する可能性があることに注意してください。
GitLab Runnerのインストール
GitLab RunnerはGNU/Linux、macOS、FreeBSD、Windowsにインストールして使用することができます。 Dockerを使用してインストールしたり、バイナリを手動でダウンロードしたり、GitLabが提供するrpm/debパッケージのリポジトリを使用したりすることができます。 以下に、異なるインストール方法に関する情報を記載します:
- Debian/Ubuntu/CentOS/RedHat(推奨)用のGitLabのリポジトリを使ってインストールしてください。
- GNU/Linuxに手動でインストールします(詳細)。
- MacOSにインストールします。
- Windowsにインストールします。
- Dockerサービスとしてインストールします。
- Dockerマシンを使ってオートスケーリングモードでインストールします。
- FreeBSDにインストールします。
- Kubernetesにインストール。
- ナイトリーバイナリを手動でインストールします(開発者)。
GitLabランナーの登録
GitLab Runnerをインストールしたら、GitLabに登録する必要があります。
GitLab Runnerの登録方法をご覧ください。
GitLab Runner の使い方
- コマンドの説明を参照してください。
- ベストプラクティスの文書を参照してください。
執行者の選定
GitLab Runnerは、様々なシナリオでビルドを実行するために使用できる多くのexecutorを実装しています。 何を選択したらよいかわからない場合は、I am not sureセクションをお読みください。互換性チャートで、各executorがサポートしている機能とサポートしていない機能をご確認ください。
各executorの具体的なドキュメントをご覧になりたい方は、こちらをご覧ください:
新しいexecutorの開発は予定されておらず、新しいexecutorのための貢献も受け付けていません。 詳細はCONTRIBUTION.mdを確認してください。
GitLab Runner の設定
GitLab Runnerの設定に関する情報を参照してください:
- 高度な設定オプション:GitLab Runnerが使用するTOML設定ファイルの使い方を学びます。
- 自己署名証明書を使用する:GitLabサーバーに接続する際にTLSピアの検証に使用する証明書を設定します。
- Docker machineを使用した自動スケーリング:Docker machineを使用してオンデマンドで作成されたマシン上でジョブを実行します。
- AWS上のGitLab Runnerの自動スケーリング
- GitLabRunnerのinitシステム:Runnerがあなたのオペレーティングシステムに基づいてinitサービスファイルをインストールする方法を学びます。
- サポートされているシェル:さまざまなシステムでビルドを実行できるシェルスクリプトジェネレータを紹介します。
- セキュリティの考慮: GitLab Runnerでジョブを実行する際には、潜在的なセキュリティの影響に注意してください。
- Runnerのモニタリング:Runnerの動作をモニタリングする方法を学びます。
- Dockerイメージを自動的にクリーンアップ:ディスク容量が少なくなったときに、GitLab Runnerのキャッシュとイメージを自動的にガベージコレクションするシンプルなDockerアプリケーションです。
- GitLab Runnerをプロキシの後ろで実行するように設定する:Linuxプロキシを設定し、GitLab Runnerを設定する方法を学びます。 特にDocker executorに役立ちます。
- 機能フラグ: 機能フラグを使用して、ベータステージの機能にアクセスしたり、完全な非推奨化や置き換えが行われる前に変更を可能にする方法を学びます。
- セッションサーバーの設定:Runnerが担当するジョブと対話するためのセッションサーバーの設定方法を学びます。
トラブルシューティング
よくあるイシューのトラブルシューティングについては、FAQをお読みください。
リリースプロセス
GitLab Runnerプロジェクトのリリースプロセスの説明はPROCESS.mdにあります。
貢献者
貢献者は歓迎します。詳しくはCONTRIBUTING.md
をご覧ください。
開発者
GitLab Runnerをハックするには、開発ドキュメントを参照してください。
GitLab Runnerプロジェクトのレビュアーであれば、GitLab Runnerのレビューに関するドキュメントをお読みください。
変更履歴
最近の変更については、変更履歴をご覧ください。
ライセンス
このコードはMITライセンスの下でディストリビューションされています。