外部のPostgreSQLサービスを利用したGitLabの設定

GitLabをクラウドプロバイダーでホストしている場合、オプションでPostgreSQLのマネージドサービスを使うことができます。 例えば、AWSはPostgreSQLを実行するマネージドRelational Database Service(RDS) を提供しています。

あるいは、Omnibus GitLabパッケージとは別に、独自のPostgreSQLインスタンスやクラスターを管理することもできます。

クラウドマネージドサービスを使用する場合、または独自のPostgreSQLインスタンスを提供する場合:

  1. データベース要件文書に従ってPostgreSQLをセットアップします。
  2. gitlab この gitlabユーザーには、gitlabhq_production データベースを作成する権限が必要です。
  3. クラウド管理サービスをご利用の場合、gitlab ユーザーに追加のロールを付与する必要がある場合があります:
    • Amazon RDSにはrds_superuser ロールが必要です。
    • Azure Database for PostgreSQL にはazure_pg_admin ロールが必要です。
  4. GitLabアプリケーションサーバーを設定し、/etc/gitlab/gitlab.rb ファイルで外部PostgreSQLサービスの適切な接続詳細を設定します:

    # Disable the bundled Omnibus provided PostgreSQL
    postgresql['enable'] = false
    
    # PostgreSQL connection details
    gitlab_rails['db_adapter'] = 'postgresql'
    gitlab_rails['db_encoding'] = 'unicode'
    gitlab_rails['db_host'] = '10.1.0.5' # IP/hostname of database server
    gitlab_rails['db_password'] = 'DB password'
    

    GitLab HAセットアップの詳細については、GitLabをHA用に設定するを参照してください。

  5. 変更を有効にするために再設定します:

    sudo gitlab-ctl reconfigure