GitLab CI/CDパイプラインは、統合された単一のワークフローの一部としてコードのビルド、テスト、デプロイ、監視を行います。
継続的インテグレーション (CI) は、チームメンバーが書いたコードを共有リポジトリに統合するために動作します。 開発者はマージ (プル) リクエストで新しいコードをチームメンバーと共有します。 このリクエストは、コードの変更を統合ブランチにマージする前に、新しいコードをビルド・テスト・検証するためのパイプラインを作成します。
継続的デリバリー (CD) は、構造化されたデプロイメントパイプラインを使用して、CIで検証済みのコードをアプリケーションに確実にデリバリーします。
CIとCD を併用することで、チームが顧客や利害関係者に結果を迅速に提供できるようになります。 CIは開発サイクルの初期段階でバグをキャッチして削減するのに役立ち、CDは検証済みのコードをアプリケーションに反映し、より早く顧客に届けるのに役立ちます。
チームが迅速かつ効果的にアプリケーションを開発するためには、CIとCDがシームレスに連携する必要があります。
「GitLabは、インストールと設定のための包括的なドキュメント、わかりやすいUI、オンプレミスでの利用をサポートする柔軟なユーザー単位の価格モデルで開発チームをサポートします。 GitLabのビジョンは、コードを書く時間を増やし、ツールチェーンを維持する時間を減らしたいと考えているエンタープライズ規模の統合型ソフトウェア開発チームにサービスを提供することです。」 - Forrester CI Wave™
レポートを取得GitLab CI/CD はGitLabの一部であり、その状態をデータベースに保存するAPIを持つWebアプリケーションです。 GitLabのすべての機能に加えて、プロジェクト/ビルドを管理するための使いやすいユーザーインターフェイスを提供します。
GitLab Runner はビルドを実行するアプリケーションです。別のマシンに個別にインストールすることができ、APIを介してGitLab CI/CDと連携します。
テストを実行するためには、少なくとも、 1つの GitLabサーバー と1つの GitLab Runner が必要です。
実際のビルドを行うには、Goで書かれたGitLab Runnerをインストールする必要があります。
Linux、macOS、Windows、FreeBSD、Dockerなど、Goバイナリをビルドできるあらゆるプラットフォームで動作します。
.Net、Java、Python、C、PHPなど、あらゆるプログラミング言語をテストすることができます。
GitLab Runnerには、 オートスケーリング 、 優れたDockerサポート 、複数のジョブを同時に実行できる機能など、 多くの機能 があります。