GitLabのパイプライン機能について

以下、作業用メモです。

GitLabのパイプライン機能は、ビルド、テスト、デプロイなどの一連の作業を自動化するための仕組み。
これはGitLab 8.8で導入された機能で、各プロジェクトごとに .gitlab-ci.yml というYAMLファイルを使って設定する。

パイプラインの設定は以下:

  • ジョブ:何をするかを定義。例えば、コードをコンパイルしたり、テストしたりするジョブがある。
  • ステージ:ジョブを実行するタイミングを定義。例えば、テストを実行するステージは、コードをコンパイルするステージの後に実行する。
  • Runner:ジョブはRunnerによって実行される。同じステージの複数のジョブは、十分な数の同時実行ランナーがいれば並行して実行される。
  • ステージ内のすべてのジョブが成功すれば、パイプラインは次のステージに進む。あるステージのジョブがどこかで失敗すると、一般的に次のステージは実行されず、パイプラインはそこで終了する。

初心者向けにパイプライン設定手順書の参考になるサイト:

GitLab CI/CD pipelines の設定方法について詳しく解説している。
GitLabのCI/CD環境作成からパイプラインを動かすまでの手順が詳しく書かれている。

パイプラインを停止する操作(特定のプロジェクトのみ)

GitLabのパイプライン機能を無効にするには、以下の手順を実行する:

  1. GitLabにログインし、対象のプロジェクトを開く。
  2. プロジェクトの画面で [Settings] > [General] を選択。
  3. 「Pipelines」の設定をオフにする。
  4. [Save changes] を押して保存。

これで、パイプライン機能が無効化され、マージリクエストを作成した際に自動的にパイプラインが稼働することはない。

なお、すべてのプロジェクトでデフォルトでパイプラインを無効化するには、以下の手順を実行する:

  1. 管理者でログインし、 [Admin Area] > [Settings] > [CI/CD] を選択。
  2. 「Default to Auto DevOps pipeline for all projects」 のチェックを外す。
  3. [Save changes] を押して保存。

これらの手順により、GitLabのパイプライン機能を無効化することができる。
プロジェクトに応じて使い分けられるようにしたい。

この記事を書いた人