hifis.gitlab
Rola Ansible dla GitLab
:warning: Ten projekt jest zarchiwizowany! :warning:
Ta rola została przeniesiona do naszej kolekcji hifis.toolkit
:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
Rola do instalacji i konfiguracji oficjalnego pakietu GitLab Omnibus.
Obecnie wspierane platformy to:
- CentOS 7
- AlmaLinux 8
- Debian 11 (Bullseye)
- Ubuntu 18.04 LTS (Bionic Beaver)
- Ubuntu 20.04 LTS (Focal Fossa)
- Ubuntu 22.04 LTS (Jemmy Jellyfish)
Wymagania
Brak.
Zmienne roli
Ważne zmienne roli
Wydanie GitLab
Wydanie GitLab do zainstalowania. Użyj gitlab-ce
dla edycji społecznej lub gitlab-ee
dla edycji przedsiębiorczej.
gitlab_edition: "gitlab-ee"
Wersja i wydanie GitLab
Ustaw konkretną wersję GitLab do zainstalowania. Upewnij się, że określisz również pożądane wydanie. Dostępne wydania można znaleźć tutaj.
gitlab_version: "15.6.1"
# Wydanie GitLab dla RHEL/AlmaLinux 8
gitlab_release: "ce.0.el8"
# Wydanie GitLab dla Ubuntu
gitlab_release: "ce.0"
Uwaga: Jeśli nie określono wersji GitLab, rola zawsze zainstaluje najnowszy dostępny pakiet GitLab.
URL klucza GPG
URL do klucza GPG, który został użyty do podpisania pakietów.
gitlab_gpg_key_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/gpgkey"
ID klucza GPG
Identyfikator klucza GPG, który został użyty do podpisania pakietów.
gitlab_gpg_key_id: "F6403F6544A38863DAA0B6E03F01618A51312F3F"
URL repozytorium pakietów
URL do repozytorium pakietów w zależności od systemu operacyjnego.
gitlab_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/ubuntu/"
URL repozytorium źródłowego pakietu
URL do repozytorium źródłowego pakietu (CentOS i AlmaLinux tylko).
gitlab_source_repo_url: "https://packages.gitlab.com/gitlab/{{ gitlab_edition }}/el/{{ ansible_facts.distribution_major_version }}/SRPMS"
Nazwa pakietu
Nazwa pakietu GitLab do zainstalowania.
gitlab_package_name: "{{ gitlab_edition + '=' + gitlab_version + '-' + gitlab_release if gitlab_version and gitlab_release else gitlab_edition }}"
Zależności pakietu
Lista zależnych pakietów wymaganych przez GitLab w zależności od systemu operacyjnego.
gitlab_dependencies:
- apt-transport-https
- curl
- gnupg
- openssh-server
- openssl
- tzdata
URL twojej instancji GitLab
Podaj URL swojej instancji GitLab:
gitlab_external_url: 'https://gitlab.example.com'
Strefa czasowa używana przez GitLab
Wybierz strefę czasową, która ma być używana przez GitLab:
gitlab_time_zone: 'Europe/Berlin'
Okres przechowywania kopii zapasowych
Ustaw okres (w sekundach) przechowywania kopii zapasowych GitLab:
gitlab_backup_keep_time: '604800'
Opcjonalne zmienne roli
Nazwa szablonu dla pliku konfiguracyjnego GitLab
Określ nazwę szablonu dla pliku konfiguracyjnego GitLab, który zostanie przekształcony w aktywny plik konfiguracyjny GitLab:
gitlab_configuration_file_template: 'gitlab.rb.j2'
Ścieżka do pliku konfiguracyjnego GitLab
Określ ścieżkę do pliku konfiguracyjnego GitLab, który zawiera niestandardowe konfiguracje twojej instancji GitLab:
gitlab_configuration_file_path: '/etc/gitlab/gitlab.rb'
Motyw GitLab używany domyślnie
Wybierz domyślny motyw dla nowych użytkowników GitLab:
gitlab_default_theme: '2'
Ścieżka do kopii zapasowych GitLab
Ustaw ścieżkę do kopii zapasowych GitLab:
gitlab_backup_path: '/var/opt/gitlab/backups'
Port, na którym nasłuchuje serwer WWW Nginx
Ustaw port, na którym serwer WWW Nginx nasłuchuje:
gitlab_nginx_listen_port: '80'
Czy serwer WWW Nginx akceptuje żądania HTTPS?
Wybierz, czy serwer WWW Nginx GitLab akceptuje żądania HTTPS:
gitlab_nginx_listen_https: 'false'
Czy serwer WWW Nginx przekierowuje żądania HTTP na HTTPS?
Wybierz, czy serwer WWW Nginx GitLab przekierowuje żądania HTTP na HTTPS:
gitlab_nginx_redirect_http_to_https: 'false'
Ustawienia flag funkcji GitLab
Ustaw flagi funkcji GitLab, aby włączyć lub wyłączyć dodatkowe funkcje. Zmienna jest listą par klucz-wartość, która wymaga name
flagi funkcji i jej boolean state enabled
. Domyślna wartość to pusta lista []
.
gitlab_feature_flags:
- name: "vscode_web_ide"
enabled: true
- name: "chatops"
enabled: true
- name: "webauthn"
enabled: false
Tylko przypadek użycia Mattermost
Ta rola może być używana do uruchamiania Mattermost bez wdrażania GitLab. W tym scenariuszu usługi takie jak sidekiq czy puma nie są wymagane. Ustaw na true
, aby zapobiec przeładowaniu tych usług:
gitlab_mattermost_only_context: 'false'
Zmienne do ustawienia w przypadku użycia zewnętrznego Redis
Przełącznik do używania zewnętrznej instancji Redis
Ustaw przełącznik na false
, aby włączyć zewnętrzną instancję Redis:
gitlab_use_internal_redis: 'false'
Hasło do uwierzytelniania usług Redis w klastrze
Zaleca się włączenie uwierzytelniania dla głównej instancji Redis i replik Redis, podając odpowiednie hasło:
gitlab_redis_password: 'changeme'
Ostrzeżenie: Musisz użyć własnego prywatnego i zaszyfrowanego hasła tutaj.
Hasło do uwierzytelniania Sentinel Redis
Wsparcie dla uwierzytelniania hasłem Sentinel Redis zostało wprowadzone w GitLab 16.1.
gitlab_redis_sentinel_password: 'changeme'
Ostrzeżenie: Musisz użyć własnego prywatnego i zaszyfrowanego hasła tutaj.
Nazwa referencyjna klastra Redis
Wybierz nazwę klastra Redis do odniesienia:
gitlab_redis_cluster_name: 'redis-cluster'
Lista adresów IP serwerów Sentinel Redis
Dodaj listę adresów IP zaangażowanych serwerów Sentinel Redis:
gitlab_redis_sentinel_ips:
- '192.168.33.11'
- '192.168.33.12'
- '192.168.33.13'
Port, na którym nasłuchują serwery Sentinel Redis
Wybierz port, na którym nasłuchują serwery Sentinel Redis:
gitlab_redis_sentinel_port: '26379'
Zakres adresów IP do monitorowania serwerów Sentinel Redis
Zakres adresów IP GitLab, które są dozwolone do monitorowania serwerów Sentinel Redis:
gitlab_ip_range: '{{ ansible_facts.default_ipv4.address }}/24'
Zmienne do ustawienia w przypadku użycia zewnętrznego Gitaly
Przełącznik do używania zewnętrznej instancji Gitaly
Ustaw przełącznik na false
, aby włączyć zewnętrzną instancję Gitaly:
gitlab_use_internal_gitaly: 'false'
Ścieżka do katalogu danych GitLab
Określ, gdzie umieścić katalog danych GitLab:
gitlab_git_data_dir: "/var/opt/gitlab/git-data"
Token uwierzytelniania Gitaly
Należy podać token uwierzytelniania Gitaly:
gitlab_gitaly_token: 'changeme'
Ostrzeżenie: Musisz użyć własnego prywatnego i zaszyfrowanego hasła tutaj.
Token powłoki GitLab
Należy podać token powłoki GitLab:
gitlab_secret_token: 'changeme'
Ostrzeżenie: Musisz użyć własnego prywatnego i zaszyfrowanego hasła tutaj.
Adres IP instancji Gitaly
Określ adres IP instancji Gitaly:
gitlab_gitaly_instance_ip: '127.0.0.1'
Port Gitaly
Określ port instancji Gitaly:
gitlab_gitaly_instance_port: '8075'
Zmienne do ustawienia w przypadku użycia zewnętrznej bazy danych PostgreSQL
Przełącznik do używania zewnętrznej instancji bazy danych PostgreSQL
Ustaw przełącznik na false
, aby włączyć zewnętrzną instancję bazy danych PostgreSQL:
gitlab_use_internal_postgresql: 'false'
Adres IP zewnętrznej instancji bazy danych PostgreSQL
Ustaw adres IP instancji bazy danych PostgreSQL:
gitlab_postgresql_db_host: '127.0.0.1'
Hasło dla zewnętrznej instancji bazy danych PostgreSQL
Ustaw hasło instancji bazy danych PostgreSQL:
gitlab_postgresql_db_password: 'changeme'
Ostrzeżenie: Musisz użyć własnego prywatnego i zaszyfrowanego hasła tutaj.
Konfiguracja rejestru GitLab
Włącz rejestr kontenerów GitLab:
gitlab_registry_enable: "true"
Proszę pamiętać: Jeśli nie uruchamiasz równoważnika obciążenia przed GitLab i pozwalasz Nginx dbać o szyfrowanie SSL, skonfiguruj również
registry_nginx['ssl_certificate']
oraz registry_nginx['ssl_certificate_key']
za pomocą gitlab_additional_configurations
.
Dodatkowe konfiguracje podane jako zmienne roli
Wszystkie inne konfiguracje, które nie są jeszcze częścią pliku konfiguracyjnego GitLab, mogą być podane jako zmienne roli Ansible.
Konfiguracje za pomocą zmiennych w stylu słownika Ruby
Zmienna Ruby, która nie jest częścią pliku konfiguracyjnego GitLab, może być podana jako zmienna roli Ansible.
Przykład użycia:
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"
Rezultująca konfiguracja:
gitlab_rails['time_zone'] = 'Europe/Berlin'
nginx['listen_port'] = 80
nginx['listen_https'] = false
Konfiguracje za pomocą wywołań funkcji Ruby
Wywołania funkcji Ruby, które nie są częścią pliku konfiguracyjnego GitLab, mogą być podane jako zmienne roli Ansible.
Przykład użycia:
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"
Rezultująca konfiguracja:
registry_external_url "https://registry.example.com"
pages_external_url "https://pages.example.com"
mattermost_external_url "https://mattermost.example.com"
Zależności
Brak.
Licencja
Informacje o autorze
Współtwórcy
Chcielibyśmy podziękować i oddać hołd następującym współtwórcom tego projektu:
ansible-galaxy install hifis.gitlab