darkwizard242.jenkinslts
Rôle Ansible : jenkinslts
Rôle pour installer (par défaut) la version LTS de Jenkins pour les systèmes basés sur Debian et EL, ou désinstaller (si passé comme variable) sur les systèmes basés sur Debian et EL.
Exigences
Java est nécessaire pour Jenkins.
Vous pouvez installer Java en utilisant le rôle darkwizard242.adoptopenjdk.
Variables du rôle
Les variables disponibles sont listées ci-dessous (situées dans defaults/main.yml
) :
Liste des variables :
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"
Tableau des variables :
Variable | Description |
---|---|
jenkinslts_group | Nom du groupe auquel appartient le propriétaire de jenkins. L’argument du groupe Jenkins est uniquement nécessaire sur les systèmes basés sur Debian, pas sur les systèmes EL. |
jenkinslts_group_desired_state | present indique la création du groupe s'il n'existe pas. L’alternative est absent . |
jenkinslts_user | Nom de l'utilisateur qui possédera jenkins. |
jenkinslts_user_home | Répertoire personnel pour l'utilisateur jenkins spécifié ci-dessus comme jenkinslts_user . Comme Jenkins est installé par défaut dans /var/lib/jenkins , il est recommandé d'utiliser ce répertoire. |
jenkinslts_user_shell | Shell pour jenkinslts_user . Typiquement, l'utilisation d'un shell n'est pas nécessaire. Ainsi, il est défini sur /bin/false . |
jenkinslts_user_desired_state | present indique la création de l'utilisateur s'il n'existe pas. L’alternative est absent . |
jenkinslts_debian_gpg_key | Clé GPG de Jenkins requise sur les systèmes basés sur Debian. |
jenkinslts_el_gpg_key | Clé GPG de Jenkins requise sur les systèmes EL. |
jenkinslts_repo_debian | Dépôt à ajouter pour les systèmes basés sur Debian. |
jenkinslts_repo_debian_filename | Nom du fichier de dépôt qui sera stocké dans /etc/apt/sources.list.d/ sur les systèmes basés sur Debian. Par défaut, c'est la valeur de la variable "{{ jenkinslts_app_name }}" qui est jenkins . |
jenkinslts_repo_el_name | Nom du dépôt pour Jenkins sur les systèmes EL. |
jenkinslts_repo_el_description | Description à ajouter dans le fichier de dépôt EL pour Jenkins. |
jenkinslts_repo_el | URL du dépôt pour Jenkins sur les systèmes EL. |
jenkinslts_repo_el_gpgcheck | Booléen indiquant s'il faut effectuer un contrôle GPG contre Jenkins sur les systèmes EL. |
jenkinslts_repo_desired_state | present indique la création du fichier de dépôt s'il n'existe pas sur les systèmes Debian ou EL. L’alternative est absent (pas recommandé car cela empêchera l'installation du paquet jenkins). |
jenkinslts_app_name | Nom de l'application Jenkins LTS (Long Term Support) c'est-à-dire jenkins |
jenkinslts_desired_state | État du paquet jenkinslts_app_name (c'est-à-dire le paquet jenkins lui-même). Si installer, vérifier la disponibilité ou désinstaller (c'est-à-dire les valeurs du module ansible apt : present , latest , ou absent ) |
jenkinslts_default_debain_config_file | Fichier de configuration par défaut de Jenkins sur les systèmes basés sur Debian. |
jenkinslts_default_el_config_file | Fichier de configuration par défaut de Jenkins sur les systèmes EL. |
jenkinslts_app_port | Port assigné à Jenkins pour fonctionner. |
jenkinslts_app_heapsize_max | Taille maximale du tas JVM à allouer à Jenkins. |
jenkinslts_service_name | Nom de service par défaut pour Jenkins. |
jenkinslts_service_desired_state | État désiré pour le service Jenkins. |
jenkinslts_service_desired_boot_enabled | État désiré pour démarrer ou arrêter le service Jenkins. |
jenkinslts_app_check_status_code | Code de statut désiré à retourner dans un gestionnaire qui vérifie l'URL de Jenkins après l'installation et le redémarrage. Il est défini sur 200 car le chemin /login retourne le code HTTP 200. |
jenkinslts_app_check_status_code_retries | Réessais d'URL curl définis sur 10 (car Jenkins peut prendre un certain temps pour démarrer). |
jenkinslts_app_check_status_code_delay | Délai pour les réessais d'URL curl fixé à 5. |
jenkinslts_app_admin_password_file | Fichier contenant le mot de passe administrateur par défaut pour l'interface de Jenkins. |
Dépendances
Java est nécessaire pour Jenkins.
Vous pouvez installer Java en utilisant le rôle darkwizard242.adoptopenjdk.
Exemple de Playbook
Pour le comportement par défaut du rôle (c'est-à-dire l'installation du paquet jenkins) dans les playbooks ansible.
- hosts: servers
roles:
- darkwizard242.jenkinslts
Pour personnaliser le comportement du rôle (c'est-à-dire l'installation du rôle darkwizard242.adoptopenjdk
en même temps que darkwizard242.jenkins) dans les playbooks ansible.
- hosts: servers
roles:
- darkwizard242.adoptopenjdk
- darkwizard242.jenkinslts
vars:
adoptopenjdk_app_name: adoptopenjdk-11-hotspot
adoptopenjdk_desired_state: present
jenkinslts_desired_state: latest
Pour personnaliser le comportement du rôle (c'est-à-dire la désinstallation du paquet jenkins) dans les playbooks ansible.
- hosts: servers
roles:
- darkwizard242.jenkinslts
vars:
jenkinslts_desired_state: absent
Licence
Informations sur l'auteur
Ce rôle a été créé par Ali Muhammad.
Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.
ansible-galaxy install darkwizard242.jenkinslts