hifis.gitlab

Rola Ansible dla GitLab

:warning: Ten projekt jest zarchiwizowany! :warning:

Ta rola została przeniesiona do naszej kolekcji hifis.toolkit:

Stan CI Rola Ansible Galaxy Pobrania Roli Ansible Galaxy Ocena jakości Ansible Galaxy Licencja Apache-2.0 Najnowsza wersja

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

Apache-2.0

Informacje o autorze

Zespół Oprogramowania HIFIS

Współtwórcy

Chcielibyśmy podziękować i oddać hołd następującym współtwórcom tego projektu:

O projekcie

Install and configure official GitLab Omnibus package

Zainstaluj
ansible-galaxy install hifis.gitlab
Licencja
other
Pobrania
24.9k
Właściciel
Helmholtz Digital Services for Science — Collaboration made easy.