hifis.gitlab

GitLab Ansible ロール

:warning: このプロジェクトはアーカイブされています! :warning:

このロールは、私たちの hifis.toolkit コレクションに移行されました:

CI ステータス Ansible Galaxy ロール Ansible Galaxy ロールのダウンロード数 Ansible Galaxy  Quality スコア Apache-2.0 ライセンス 最新のリリース

GitLabの公式Omnibusパッケージをインストールおよび構成するためのロールです。

現在サポートされているプラットフォームは以下の通りです(meta/main.yml参照):

  • CentOS 7
  • AlmaLinux 8
  • Debian 11 (Bullseye)
  • Ubuntu 18.04 LTS (Bionic Beaver)
  • Ubuntu 20.04 LTS (Focal Fossa)
  • Ubuntu 22.04 LTS (Jammy Jellyfish)

必要条件

なし。

ロール変数

重要なロール変数

GitLab エディション

インストールするGitLabエディション。コミュニティエディションには gitlab-ce を、エンタープライズエディションには gitlab-ee を使用してください。

gitlab_edition: "gitlab-ee"

GitLab バージョンとリリース

インストールする特定のGitLabバージョンを設定します。希望のリリースも指定してください。利用可能なリリースは こちら で確認できます。

gitlab_version: "15.6.1"

# RHEL/AlmaLinux 8 向けの GitLab リリース
gitlab_release: "ce.0.el8"

# Ubuntu 向けの GitLab リリース
gitlab_release: "ce.0"

注: GitLabバージョンが指定されていない場合、ロールは常に最新のGitLabパッケージをインストールします。

GPG キーURL

パッケージに署名するために使用されたGPGキーのURLです。

gitlab_gpg_key_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/gpgkey"

GPG キーID

パッケージに署名するために使用されたGPGキーの識別子です。

gitlab_gpg_key_id: "F6403F6544A38863DAA0B6E03F01618A51312F3F"

パッケージリポジトリURL

オペレーティングシステムに基づくパッケージリポジトリのURLです。

gitlab_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/ubuntu/"

ソースパッケージリポジトリURL

ソースパッケージリポジトリのURL(CentOS および AlmaLinux のみ)。

gitlab_source_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/el/{{ ansible_facts.distribution_major_version }}/SRPMS"

パッケージ名

インストールするGitLabパッケージの名前です。

gitlab_package_name: "{{ gitlab_edition + '=' + gitlab_version + '-' + gitlab_release if gitlab_version and gitlab_release else gitlab_edition }}"

パッケージ依存関係

オペレーティングシステムに基づいてGitLabに必要な依存パッケージのリストです。

gitlab_dependencies:
  - apt-transport-https
  - curl
  - gnupg
  - openssh-server
  - openssl
  - tzdata

GitLabインスタンスのURL

GitLabインスタンスのURLを指定します。

gitlab_external_url: 'https://gitlab.example.com'

GitLabが使用するタイムゾーン

GitLabが使用するタイムゾーンを選択します。

gitlab_time_zone: 'Europe/Berlin'

バックアップを保持する期間

GitLabのバックアップを保持する期間(秒)を設定します。

gitlab_backup_keep_time: '604800'

オプションのロール変数

GitLabの設定ファイルテンプレート名

GitLabの設定ファイルに変換されるテンプレート名を指定します。

gitlab_configuration_file_template: 'gitlab.rb.j2'

GitLabの設定ファイルへのパス

カスタム設定が含まれるGitLabの設定ファイルのテンプレートのパスを指定します。

gitlab_configuration_file_path: '/etc/gitlab/gitlab.rb'

デフォルトで使用するGitLabテーマ

新しいGitLabユーザーに使用されるデフォルトテーマを選択します。

gitlab_default_theme: '2'

GitLabバックアップのパス

GitLabバックアップのパスを設定します。

gitlab_backup_path: '/var/opt/gitlab/backups'

ウェブサーバーNginxがリッスンするポート

GitLabのWebサーバーNginxがリッスンするポートを設定します。

gitlab_nginx_listen_port: '80'

ウェブサーバーNginxがHTTPSリクエストを受け入れますか?

GitLabのWebサーバーNginxがHTTPSリクエストを受け入れるかどうかを選択します。

gitlab_nginx_listen_https: 'false'

ウェブサーバーNginxがHTTPリクエストをHTTPSにリダイレクトしますか?

GitLabのWebサーバーNginxがHTTPリクエストをHTTPSにリダイレクトするかどうかを選択します。

gitlab_nginx_redirect_http_to_https: 'false'

GitLabの機能フラグを設定します

GitLab機能フラグを設定して追加機能を有効または無効にします。変数は、機能フラグのnameとブール値のenabledのキーと値のペアのリストです。デフォルト値は空のリスト [] です。

gitlab_feature_flags:
  - name: "vscode_web_ide"
    enabled: true
  - name: "chatops"
    enabled: true
  - name: "webauthn"
    enabled: false  

Mattermostのみの使用ケース

このロールは、GitLabをデプロイせずにMattermostを実行するために使用できます。この場合、sidekiqpuma などのサービスは必要ありません。これを true に設定すると、ロールはこれらのサービスをリロードしません。

gitlab_mattermost_only_context: 'false'

外部Redisを使用する場合に設定する変数

外部Redisインスタンスを使用するスイッチ

外部Redisインスタンスを有効にするためにfalseに設定します。

gitlab_use_internal_redis: 'false'

クラスター内のRedisサービスを認証するためのパスワード

Redis MasterおよびRedisレプリカの認証を有効にするために、各パスワードを提供することをお勧めします。

gitlab_redis_password: 'changeme'

注意: ここには自分自身のプライベートで暗号化されたパスワードを使用する必要があります。

Redis Sentinelを認証するためのパスワード

Redis Sentinelのパスワード認証のサポートは、GitLab 16.1で導入されました。

gitlab_redis_sentinel_password: 'changeme'

注意: ここには自分自身のプライベートで暗号化されたパスワードを使用する必要があります。

Redisクラスタの参照名

参照用のRedisクラスタの名前を選択します。

gitlab_redis_cluster_name: 'redis-cluster'

Redis SentinelサーバーのIPアドレスリスト

関与するRedis SentinelサーバーのIPアドレスのリストを追加します。

gitlab_redis_sentinel_ips:
  - '192.168.33.11'
  - '192.168.33.12'
  - '192.168.33.13'

Redis Sentinelサーバーがリッスンするポート

Redis Sentinelサーバーがリッスンするポートを選択します。

gitlab_redis_sentinel_port: '26379'

Redis Sentinelサーバーを監視するためのIPアドレス範囲

Redis Sentinelサーバーを監視するために許可されているGitLabのIPアドレス範囲です。

gitlab_ip_range: '{{ ansible_facts.default_ipv4.address }}/24'

外部Gitalyを使用する場合に設定する変数

外部Gitalyインスタンスを使用するスイッチ

外部Gitalyインスタンスを有効にするためにfalseに設定します。

gitlab_use_internal_gitaly: 'false'

GitLabデータディレクトリへのパス

GitLabデータディレクトリを配置する場所を指定します。

gitlab_git_data_dir: "/var/opt/gitlab/git-data"

Gitaly認証トークン

Gitalyの認証トークンを指定する必要があります。

gitlab_gitaly_token: 'changeme'

注意: ここには自分自身のプライベートで暗号化されたパスワードを使用する必要があります。

GitLabシェルトークン

GitLabシェルトークンを指定する必要があります。

gitlab_secret_token: 'changeme'

注意: ここには自分自身のプライベートで暗号化されたパスワードを使用する必要があります。

GitalyのIPアドレス

GitalyインスタンスのIPアドレスを指定します。

gitlab_gitaly_instance_ip: '127.0.0.1'

Gitalyのポート

Gitalyインスタンスのポートを指定します。

gitlab_gitaly_instance_port: '8075'

外部PostgreSQLデータベースを使用する場合に設定する変数

外部PostgreSQLデータベースインスタンスを使用するスイッチ

外部PostgreSQLデータベースインスタンスを有効にするためにfalseに設定します。

gitlab_use_internal_postgresql: 'false'

外部PostgreSQLデータベースインスタンスのIPアドレス

PostgreSQLデータベースインスタンスのIPアドレスを設定します。

gitlab_postgresql_db_host: '127.0.0.1'

外部PostgreSQLデータベースインスタンスのパスワード

PostgreSQLデータベースインスタンスのパスワードを設定します。

gitlab_postgresql_db_password: 'changeme'

注意: ここには自分自身のプライベートで暗号化されたパスワードを使用する必要があります。

GitLabレジストリの設定

GitLabコンテナレジストリを有効にします:

gitlab_registry_enable: "true"

注: GitLabの前にロードバランサを配置していない場合、NGinxがSSL暗号化を管理する場合は、gitlab_additional_configurations経由でregistry_nginx['ssl_certificate']registry_nginx['ssl_certificate_key']を設定してください。

ロール変数として与えられる追加設定

まだGitLabの設定ファイルの一部ではないその他の設定をAnsibleロール変数で指定できます。

辞書のようなRuby変数を使用した設定

GitLabの設定ファイルの一部ではないRuby変数をAnsibleロール変数で指定できます。

コードの帰属 / 使用条件:

この汎用のキーバリュー対のアイデアは、Jeff Geerling の作業に起因し、元々はMITライセンスの下で許可されています。

使用例:

gitlab_additional_configurations:
  - gitlab_rails:
      - key: "time_zone"
        value: "Europe/Berlin"
  - nginx:
      - key: "listen_port"
        type: "plain"
        value: "80"
      - key: "listen_https"
        type: "plain"
        value: "false"

結果の設定:

gitlab_rails['time_zone'] = 'Europe/Berlin'
nginx['listen_port'] = 80
nginx['listen_https'] = false

Ruby関数呼び出しを使用した設定

GitLabの設定ファイルの一部ではないRuby関数呼び出しをAnsibleロール変数で指定できます。

使用例:

gitlab_ruby_configuration_calls:
  - key: "pages_external_url"
    value: "https://pages.example.com"
  - key: "registry_external_url"
    value: "https://registry.example.com"
  - key: "mattermost_external_url"
    value: "https://mattermost.example.com"

結果の設定:

registry_external_url "https://registry.example.com"
pages_external_url "https://pages.example.com"
mattermost_external_url "https://mattermost.example.com"

依存関係

なし。

ライセンス

Apache-2.0

作者情報

HIFISソフトウェアチーム

貢献者

このプロジェクトの貢献者に感謝し、クレジットを提供します:

プロジェクトについて

Install and configure official GitLab Omnibus package

インストール
ansible-galaxy install hifis.gitlab
ライセンス
other
ダウンロード
24.9k
所有者
Helmholtz Digital Services for Science — Collaboration made easy.