darkwizard242.jenkinslts
Ansible Rola: jenkinslts
Rola służąca do instalacji (domyślnie) wersji LTS Jenkins dla systemów opartych na Debianie i EL lub do odinstalowania (jeśli podano jako zmienna) w systemach Debian i EL.
Wymagania
Jenkins wymaga Javy.
Możesz zainstalować Javę za pomocą roli darkwizard242.adoptopenjdk.
Zmienne Roli
Dostępne zmienne są wymienione poniżej (znajdują się w defaults/main.yml
):
Lista Zmiennych:
jenkinslts_user: jenkins
jenkinslts_group: jenkins
jenkinslts_group_desired_state: present
jenkinslts_user_home: "/var/lib/{{ jenkinslts_user }}"
jenkinslts_user_shell: /bin/false
jenkinslts_user_desired_state: present
jenkinslts_app_name: jenkins
jenkinslts_debian_gpg_key: https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
jenkinslts_el_gpg_key: https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
jenkinslts_repo_debian: deb https://pkg.jenkins.io/debian-stable binary/
jenkinslts_repo_debian_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_name: jenkins
jenkinslts_repo_el_description: Jenkins
jenkinslts_repo_el: http://pkg.jenkins.io/redhat-stable
jenkinslts_repo_el_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_gpgcheck: yes
jenkinslts_repo_desired_state: present
jenkinslts_desired_state: present
jenkinslts_default_debain_config_file: /etc/default/jenkins
jenkinslts_default_el_config_file: /etc/sysconfig/jenkins
jenkinslts_app_port: 8080
jenkinslts_app_heapsize_max: 256m
jenkinslts_service_name: jenkins
jenkinslts_service_desired_state: restarted
jenkinslts_service_desired_boot_enabled: yes
jenkinslts_app_check_status_code: 200
jenkinslts_app_check_status_code_retries: 10
jenkinslts_app_check_status_code_delay: 5
jenkinslts_app_admin_password_file: "{{ jenkinslts_user_home }}/secrets/initialAdminPassword"
Tabela Zmiennych:
Variable | Opis |
---|---|
jenkinslts_group | Nazwa grupy, do której należy właściciel jenkins. Argument grupy Jenkins jest wymagany tylko w systemach opartych na Debianie, nie w systemach EL. |
jenkinslts_group_desired_state | present oznacza utworzenie grupy, jeśli nie istnieje. Alternatywą jest absent . |
jenkinslts_user | Nazwa użytkownika, który będzie właścicielem jenkins. |
jenkinslts_user_home | Katalog domowy dla użytkownika jenkins podanego powyżej jako jenkinslts_user . Ponieważ Jenkins jest domyślnie instalowany w /var/lib/jenkins , zaleca się użycie tego katalogu. |
jenkinslts_user_shell | Powłoka dla jenkinslts_user . Zwykle nie wymaga się używania powłoki, dlatego ustawiono na /bin/false . |
jenkinslts_user_desired_state | present oznacza utworzenie użytkownika, jeśli nie istnieje. Alternatywną opcją jest absent . |
jenkinslts_debian_gpg_key | Klucz GPG Jenkins wymagany w systemach opartych na Debianie. |
jenkinslts_el_gpg_key | Klucz GPG Jenkins wymagany w systemach EL. |
jenkinslts_repo_debian | Repozytorium do dodania dla systemów opartych na Debianie. |
jenkinslts_repo_debian_filename | Nazwa pliku repozytorium, który zostanie zapisany w /etc/apt/sources.list.d/ w systemach opartych na Debianie. Domyślnie to wartość zmiennej "{{ jenkinslts_app_name }}" , która wynosi jenkins . |
jenkinslts_repo_el_name | Nazwa repozytorium dla Jenkins w systemach opartych na EL. |
jenkinslts_repo_el_description | Opis, który zostanie dodany w pliku repozytorium EL dla Jenkins. |
jenkinslts_repo_el | Bazowy adres URL repozytorium dla Jenkins w systemach opartych na EL. |
jenkinslts_repo_el_gpgcheck | Warunek, czy przeprowadzić kontrolę gpg dla Jenkins w systemach opartych na EL. |
jenkinslts_repo_desired_state | present oznacza utworzenie pliku repozytorium, jeśli nie istnieje w systemach Debian lub EL. Alternatywną opcją jest absent (niezalecane, ponieważ uniemożliwi to instalację pakietu jenkins). |
jenkinslts_app_name | Nazwa aplikacji Jenkins LTS (Long Term Support), tj. jenkins . |
jenkinslts_desired_state | Stan pakietu jenkinslts_app_name (tj. samego pakietu jenkins ). Określa, czy zainstalować, sprawdzić dostępność czy odinstalować (tj. wartości modułu apt ansible: present , latest , lub absent ). |
jenkinslts_default_debain_config_file | Domyślny plik konfiguracyjny Jenkins w systemach opartych na Debianie. |
jenkinslts_default_el_config_file | Domyślny plik konfiguracyjny Jenkins w systemach opartych na EL. |
jenkinslts_app_port | Port, na którym ma działać Jenkins. |
jenkinslts_app_heapsize_max | Maksymalny rozmiar sterty JVM przydzielany Jenkinsowi. |
jenkinslts_service_name | Domyślna nazwa usługi dla Jenkins. |
jenkinslts_service_desired_state | Żądany stan usługi Jenkins. |
jenkinslts_service_desired_boot_enabled | Żądany stan włączony/wyłączony dla usługi Jenkins. |
jenkinslts_app_check_status_code | Żądany kod statusu do zwrócenia w handlerze sprawdzającym URL Jenkins po instalacji i restarcie. Ustawiono na 200, ponieważ ścieżka /login zwraca kod HTTP 200. |
jenkinslts_app_check_status_code_retries | Liczba prób URL curl ustawiona na 10 (Jenkins może potrzebować trochę czasu na uruchomienie). |
jenkinslts_app_check_status_code_delay | Opóźnienie prób URL curl ustawione na 5. |
jenkinslts_app_admin_password_file | Plik zawierający domyślne hasło administratora dla interfejsu użytkownika Jenkins. |
Zależności
Jenkins wymaga Javy.
Możesz zainstalować Javę za pomocą roli darkwizard242.adoptopenjdk.
Przykład Playbooka
Do domyślnego działania roli (tj. instalacji pakietu jenkins) w playbookach ansible.
- hosts: servers
roles:
- darkwizard242.jenkinslts
Aby dostosować działanie roli (tj. instalacji roli darkwizard242.adoptopenjdk
obok darkwizard242.jenkins) w playbookach ansible.
- hosts: servers
roles:
- darkwizard242.adoptopenjdk
- darkwizard242.jenkinslts
vars:
adoptopenjdk_app_name: adoptopenjdk-11-hotspot
adoptopenjdk_desired_state: present
jenkinslts_desired_state: latest
Aby dostosować działanie roli (tj. odinstalowania pakietu jenkins) w playbookach ansible.
- hosts: servers
roles:
- darkwizard242.jenkinslts
vars:
jenkinslts_desired_state: absent
Licencja
Informacje o autorze
Ta rola została stworzona przez Ali Muhammad.
Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.
ansible-galaxy install darkwizard242.jenkinslts