継続的インテグレーションとデプロイの管理エリアの設定

管理エリアには、Auto DevOps、ランナー、ジョブアーティファクトのインスタンス設定があります。

Auto DevOps

すべてのプロジェクトで AutoDevOpsを有効(または無効)にします:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Default to Auto DevOps pipeline for all projectsにチェックを入れます(無効にする場合はチェックを外します)。
  5. オプションで、Auto DeployとAuto Reviewアプリに使用するAuto DevOpsベースドメインを設定します。
  6. 変更を有効にするには、[Save changes]を選択します。

今後、.gitlab-ci.yml を持たないすべての既存プロジェクトと新規作成プロジェクトは、Auto DevOpsパイプラインを使用します。

特定のプロジェクトでこの機能を無効にしたい場合は、そのプロジェクトの設定で無効にできます。

新しいプロジェクトで共有ランナーを有効化

すべての新規プロジェクトでインスタンスの共有ランナーをデフォルトで利用できるように設定できます。

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. 継続的インテグレーションとデプロイを展開します。
  5. Enable shared runner for new projectsチェックボックスを選択します。

新しいプロジェクトが作成されるたびに、共有ランナーが使用できるようになります。

共有ランナーの計算クォータ

管理者として、使用できる計算分数の制限をグローバルまたはネームスペースごとに設定できます。

複数のプロジェクトでプロジェクト・ランナーを有効にします。

すでにプロジェクトランナーを登録している場合、そのランナーを他のプロジェクトに割り当てることができます。

複数のプロジェクトでプロジェクトランナーを有効にするには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. 左サイドバーから、CI/CD > Runnerを選択します。
  4. 編集したいランナーを選択します。
  5. 右上隅で編集({鉛筆})を選択します。
  6. Restrict projects for this runner(このランナーのプロジェクトを制限する)でプロジェクトを検索します。
  7. プロジェクトの左側で、Enableを選択します。
  8. 追加のプロジェクトごとにこのプロセスを繰り返します。

共有ランナーへのメッセージの追加

インスタンスの共有ランナーに関する詳細をすべてのプロジェクトのランナー設定に表示します:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. 継続的インテグレーションとデプロイを展開します。
  5. 共有ランナーの詳細フィールドに、必要に応じてMarkdownを含むテキストを入力します。例えば

    Shared runner details input

レンダリングされた詳細を表示するには

  1. 左側のサイドバーで、「検索」を選択するか、または「移動」を選択して、プロジェクトまたはグループを見つけます。
  2. Settings > CI/CDを選択します。
  3. Runnerを展開します。

Shared runner details example

アーティファクトの最大サイズ

管理者は、ジョブのアーティファクトの最大サイズを設定できます:

  • インスタンス・レベル
  • プロジェクトおよびグループ・レベル

GitLab.com での設定については、アーティファクトの最大サイズをご覧ください。

値の単位は MB で、デフォルトはジョブごとに 100 MB です。管理者はデフォルト値を

  • インスタンスレベルで変更できます:

    1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
    2. Admin Areaを選択します。
    3. 左サイドバーで、[Settings] > [CI/CD] > [Continuous Integration and Deployment]を選択します。
    4. Maximum artifacts size(MB) の値を変更します。
    5. 変更を有効にするには、[Save changes]を選択します。
  • グループ・レベル(インスタンスの設定より優先されます):

    1. グループのSettings > CI/CD > General Pipelinesに移動します。
    2. 最大アーティファクトサイズ(MB)の値を変更します。
    3. 変更を有効にするには、[Save changes]を選択します。
  • プロジェクト・レベル(インスタンスとグループの設定より優先されます):

    1. プロジェクトのSettings > CI/CD > General Pipelinesに移動します。
    2. アーティファクトの最大サイズ(MB単位)の値を変更します。
    3. 変更を有効にするには、[Save changes]を選択します。

デフォルトのアーティファクトの有効期限

ジョブのアーティファクトのデフォルトの有効期限は、GitLabインスタンスの管理エリアで設定できます。duration の構文はartifacts:expire_in で説明されており、デフォルト値は30 daysです。

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. デフォルトの有効期限の値を変更します。
  5. 変更を有効にするには、[Save changes]を選択します。

この設定はジョブごとに設定され、.gitlab-ci.ymlで上書きできます。有効期限を無効にするには、0に設定します。 デフォルトの単位は秒です。

note
この設定を変更すると、新しいアーティファクトにのみ適用されます。この設定が変更される前に作成されたアーティファクトの有効期限は更新されません。管理者は、トラブルシューティング ドキュメントに記載されているように、以前に作成されたアーティファクトを手動で検索し、有効期限を設定する必要がある場合があります。

最新のパイプラインで成功したすべてのジョブの最新のアーティファクトを保持します。

GitLab 13.9 で導入されました

有効(デフォルト)にすると、各 Git ref の最新のパイプラインのアーティファクト(ブランチとタグ)が削除されないようにロックされ、有効期限に関係なく保持されます。

無効にすると、新しく成功したパイプラインや修正されたパイプラインの最新のアーティファクトが期限切れになります。

この設定は、プロジェクト・レベルの設定よりも優先されます。インスタンス・レベルで無効にした場合、プロジェクトごとに有効にすることはできません。

設定を無効にするには

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. 継続的インテグレーションとデプロイを展開します。
  5. Keep the latest artifacts for all jobs in the latest successful pipelines]チェックボックスをオフにします。
  6. 変更を保存] を選択します。

この機能を無効にすると、最新のアーティファクトはすぐに期限切れになりません。最新のアーティファクトが失効して削除される前に、新しいパイプラインを実行する必要があります。

note
すべてのアプリケーション設定には、設定の影響を遅らせることができる、カスタマイズ可能なキャッシュの有効期限間隔があります。

アーカイブジョブ

古いジョブをアーカイブして、個別に再実行できないようにすることができます。アーカイブされたジョブにはロックアイコン({lock}) が表示され、ジョブログの一番上にThis job is archivedと表示されます。

今後、ジョブの実行に必要なデータベースに保存されたメタデータを削除することで、アーカイブされたジョブのシステム上のCI/CDフットプリントを削減する作業が予定されています。詳細はCI/CD data time decayblueprint を参照してください。

ジョブが古く期限切れとみなされる期間を設定します:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Continuous Integration and Deploymentセクションを展開します。
  5. Archive jobsの値を設定します。
  6. 変更を有効にするには、[Save changes]を選択します。

この時間が経過すると、ジョブはバックグラウンドでアーカイブされ、再試行できなくなります。ジョブが期限切れにならないよう、空にしてください。例えば、15日,1ヶ月,2年.

GitLab.comに設定する値については、Scheduled job archivingを参照してください。

デフォルトでCI/CD変数を保護

すべての新しいCI/CD変数をデフォルトで保護するように設定します:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. デフォルトでProtect CI/CD変数を選択します。

最大値

GitLab 16.0 で導入されました

パイプラインあたりの最大インクルード数はインスタンスレベルで設定できます。デフォルトは150

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Maximum includesの値を変更します。
  5. 変更を有効にするには、[Save changes]を選択します。

デフォルトのCI/CD設定ファイル

GitLab 12.5で導入されました

新規プロジェクトのデフォルトCI/CD設定ファイルとパスは、GitLabインスタンスの管理エリアで設定できます(.gitlab-ci.yml 設定されていない場合):

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Default CI/CD configuration fileフィールドに新しいファイルとパスを入力します。
  5. 変更を有効にするには、[Save changes]を選択します。

特定のプロジェクト用にカスタムCI/CD設定ファイルを指定することも可能です。

CI/CD制限の設定

GitLab 14.10で導入されました

管理エリアからCI/CDの制限を設定することができます:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Continuous Integration and Deploymentセクションを展開します。
  5. CI/CD limitsセクションで、以下の制限を設定できます:
    • 1つのパイプラインの最大ジョブ数
    • 現在アクティブなパイプラインのジョブ総数
    • プロジェクトごとのアクティブなパイプラインの最大数
    • プロジェクトとの間のパイプライン・サブスクリプションの最大数
    • パイプライン・スケジュールの最大数
    • ジョブが持つことのできるDAG依存関係の最大数
    • グループごとに登録できるランナーの最大数
    • プロジェクトごとに登録できるランナーの最大数
    • パイプラインの階層ツリーにおけるダウンストリームパイプラインの最大数

パイプライン提案バナーの有効化または無効化

デフォルトでは、パイプラインのないマージリクエストに、パイプラインの追加方法を提案するバナーが表示されます。

Suggest pipeline banner

バナーを有効または無効にするには

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Enable pipeline suggestion bannerチェックボックスをオンまたはオフにします。
  5. 変更を保存を選択します。

必要なパイプライン設定

caution
この機能はGitLab 15.9で非推奨となり、17.0で削除される予定です。代わりにコンプライアンスパイプラインを使用してください。この変更はブレークチェンジです。

CI/CDテンプレートを、GitLabインスタンス上のすべてのプロジェクトの必須パイプライン設定として設定することができます。テンプレートは

  • デフォルトのCI/CDテンプレート。
  • インスタンステンプレートリポジトリに格納されているカスタムテンプレート。

    note
    インスタンス・テンプレート・リポジトリで定義された設定を使用する場合、ネストされたinclude: キーワード(include:fileinclude:localinclude:remoteinclude:templateを含む)は](../../ci/yaml/index.md#include)機能](../../ci/yaml/index.md#include)しません。

プロジェクト CI/CD 設定は、パイプラインの実行時に必要なパイプライン設定にマージされます。マージされた設定は、必要なパイプライン設定がinclude キーワードでプロジェクト設定を追加した場合と同じです。プロジェクトのマージされた完全な設定を表示するには、パイプラインエディタで完全な設定を表示します。

必要なパイプライン設定の CI/CD テンプレートを選択します:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Required pipeline configurationセクションを展開します。
  5. ドロップダウンリストからCI/CDテンプレートを選択します。
  6. 変更を保存を選択します。

パッケージレジストリ設定

Mavenフォワーディング

GitLab 管理者は MavenCentral への Maven リクエストの転送を無効にすることができます。

Maven リクエストの転送を無効にするには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Package Registryセクションを展開します。
  5. パッケージがGitLabパッケージレジストリで見つからない場合、チェックボックスForward Maven package requests to the Maven Registryをクリアします。
  6. 変更を保存を選択します。

npm 転送

GitLab 管理者は npm リクエストのnpmjs.com への転送を無効にすることができます。

無効化するには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Package Registryセクションを展開します。
  5. パッケージがGitLabパッケージレジストリで見つからない場合、チェックボックスForward npm package requests to the npm Registryをクリアします。
  6. 変更を保存を選択します。

PyPI転送

GitLab 管理者は PyPI リクエストのpypi.org への転送を無効にすることができます。

無効化するには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Package Registryセクションを展開します。
  5. Forward PyPI package requests to the PyPI Registry if the packages are not found in the GitLab Package Registry のチェックボックスをオフにします。
  6. 変更を保存を選択します。

パッケージのファイルサイズ制限

GitLab管理者は、パッケージの種類ごとに最大許容ファイルサイズを調整することができます。

最大ファイルサイズを設定するには

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Package Registryセクションを展開します。
  5. 調整したいパッケージの種類を探します。
  6. 最大ファイルサイズをバイト単位で入力します。
  7. 保存サイズ制限を選択します。

インスタンス内のすべてのユーザーによるRunner登録を制限します。

GitLab管理者は、UIの表示・非表示によってランナーの登録を許可する人を調整することができます。

UIで登録セクションが非表示になっている場合、プロジェクトやグループのメンバーは管理者に連絡して、グループやプロジェクトでのRunner登録を有効にする必要があります。登録できないようにする場合は、ユーザーがジョブの実行に必要なランナーにアクセスできるようにしてください。

デフォルトでは、プロジェクトおよびグループのすべてのメンバーがランナーを登録できます。

インスタンス内のすべてのユーザーが Runner を登録できないようにするには、次のようにします:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Runnerを展開します。
  5. ランナー登録セクションで、プロジェクトのメンバーがランナーを登録できる、およびグループのメンバーがランナーを登録できるチェックボックスをオフにして、UIからランナー登録を削除します。
  6. 変更を保存を選択します。
note
プロジェクトのメンバーによるRunner登録を無効にすると、登録トークンは自動的に回転します。トークンは無効となり、プロジェクトの新しい登録トークンを使用する必要があります。

グループの全メンバーによるランナー登録の制限

前提条件:

GitLab 管理者はグループ権限を調整して、グループメンバーによる Runner 登録を制限することができます。

特定のグループのメンバーによる Runner の登録を制限するには:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. 概要 > グループを選択し、グループを見つけます。
  4. 編集]を選択します。
  5. グループ内の全メンバーによるランナー登録を無効にする場合は、[New group runners can be registered新しいグループのランナーは登録可能)] チェックボックスをオフにします。設定が読み取り専用の場合は、インスタンスのランナー登録を有効にする必要があります。
  6. 変更を保存を選択します。

ランナーのバージョン管理を無効にします。

GitLab 15.10 で導入されました

デフォルトでは、GitLabインスタンスは定期的にGitLab.comから公式ランナーのバージョンデータを取得し、ランナーのアップグレードが必要かどうかを判断します。

インスタンスがこのデータを取得しないようにするには、次のようにします:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. Settings > CI/CDを選択します。
  4. Runnerを展開します。
  5. Runner version managementセクションで、Fetch GitLab Runner release version data from GitLab.comチェックボックスをオフにします。
  6. 変更を保存を選択します。

トラブルシューティング

413 リクエスト・エンティティが大きすぎる

ビルド・ジョブが以下のエラーで失敗する場合は、アーティファクトの最大サイズを大きくしてください。

Uploading artifacts as "archive" to coordinator... too large archive <job-id> responseStatus=413 Request Entity Too Large status=413" at end of a build job on pipeline when trying to store artifacts to <object-storage>.