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

MIT

Informations sur l'auteur

Ce rôle a été créé par Ali Muhammad.

À propos du projet

Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.

Installer
ansible-galaxy install darkwizard242.jenkinslts
Licence
mit
Téléchargements
4.9k
Propriétaire
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!