正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

外部GitLab PagesでGitLabチャートを設定する

このドキュメントでは、Linuxパッケージを使用して、クラスタリングの外部で設定されたGitLab Pagesインスタンスで、このHelm Chartを設定する方法について説明します。Issue 418259は、Helm Chartを使用して、外部GitLab Pagesを持つLinuxパッケージインスタンスのドキュメントを追加することを提案しています。

要件

  1. 外部オブジェクトストレージは、本番環境インスタンスに推奨されるため、使用する必要があります。
  2. GitLab Pagesとやり取りするための、32バイト長のAPIシークレットキーのBase64エンコード形式。

既知の制限事項

  1. GitLab Pagesのアクセス制御は、標準ではサポートされていません。

外部のGitLab Pagesインスタンスを設定します

  1. GitLabをインストール Linuxパッケージを使用してインストールします。

  2. /etc/gitlab/gitlab.rbファイルを編集し、その内容を次のスニペットに置き換えます。次の値を更新して、設定に合わせてください:

    roles ['pages_role']
    
    # Root domain where Pages will be served.
    pages_external_url '<Pages root domain>'  # Example: 'http://pages.example.io'
    
    # Information regarding GitLab instance
    gitlab_pages['gitlab_server'] = '<GitLab URL>'  # Example: 'https://gitlab.example.com'
    gitlab_pages['api_secret_key'] = '<Base64 encoded form of API secret key>'
  3. sudo gitlab-ctl reconfigureを実行して、変更を適用します。

チャートを設定する

  1. Pagesのデプロイメントを保存するために、オブジェクトストレージにgitlab-pagesという名前のバケットを作成します。

  2. 値としてAPIシークレットキーのBase64エンコード形式でシークレットgitlab-pages-api-keyを作成します。

    kubectl create secret generic gitlab-pages-api-key --from-literal="shared_secret=<Base 64 encoded API Secret Key>"
  3. 次の設定スニペットを参照し、必要なエントリを値ファイルに追加します。

    global:
      pages:
        path: '/srv/gitlab/shared/pages'
        host: <Pages root domain>
        port: '80'  # Set to 443 if Pages is served over HTTPS
        https: false  # Set to true if Pages is served over HTTPS
        artifactsServer: true
        objectStore:
          enabled: true
          bucket: 'gitlab-pages'
        apiSecret:
          secret: gitlab-pages-api-key
          key: shared_secret
      extraEnv:
        PAGES_UPDATE_LEGACY_STORAGE: true  # Bypass automatic disabling of disk storage

    PAGES_UPDATE_LEGACY_STORAGE環境変数をtrueに設定すると、機能フラグpages_update_legacy_storageが有効になり、Pagesがローカルディスクにデプロイされます。オブジェクトストレージに移行する場合は、この変数を削除することを忘れないでください。

  4. この設定を使用して、チャートをデプロイする