hifis.gitlab
GitLab Ansible ロール
:warning: このプロジェクトはアーカイブされています! :warning:
このロールは、私たちの hifis.toolkit
コレクションに移行されました:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
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を実行するために使用できます。この場合、sidekiq や puma などのサービスは必要ありません。これを 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"
依存関係
なし。
ライセンス
作者情報
貢献者
このプロジェクトの貢献者に感謝し、クレジットを提供します:
ansible-galaxy install hifis.gitlab