darkwizard242.jenkinslts

build-test release Ansible Role Ansible Role Ansible Quality Score Quality Gate Status Maintainability Rating Reliability Rating Security Rating GitHub tag (latest SemVer) GitHub repo size

Rol de Ansible: jenkinslts

Rol para instalar (por defecto) la versión LTS de Jenkins para sistemas basados en Debian y EL, o desinstalar (si se pasa como variable) en sistemas basados en Debian y EL.

Requisitos

Java es necesario para Jenkins.

Puedes instalar Java usando el rol darkwizard242.adoptopenjdk.

Variables del Rol

Las variables disponibles se listan a continuación (ubicadas en defaults/main.yml):

Lista de 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"

Tabla de Variables:

Variable Descripción
jenkinslts_group Nombre del grupo al que pertenecerá el dueño de Jenkins. El argumento del grupo de Jenkins solo se necesita en sistemas basados en Debian, no en sistemas EL.
jenkinslts_group_desired_state present indica que se debe crear el grupo si no existe. Alternativa es absent.
jenkinslts_user Nombre del usuario que será el dueño de Jenkins.
jenkinslts_user_home Directorio personal para el usuario de Jenkins especificado anteriormente como jenkinslts_user. Dado que Jenkins se instala por defecto en /var/lib/jenkins, se recomienda usar ese directorio.
jenkinslts_user_shell Shell para jenkinslts_user. Típicamente, el uso de una shell no es necesario, por lo que se establece en /bin/false.
jenkinslts_user_desired_state present indica que se debe crear el usuario si no existe. Alternativa es absent.
jenkinslts_debian_gpg_key GPG de Jenkins requerido en sistemas basados en Debian.
jenkinslts_el_gpg_key GPG de Jenkins requerido en sistemas EL.
jenkinslts_repo_debian Repositorio que se agregará para sistemas basados en Debian.
jenkinslts_repo_debian_filename Nombre del archivo del repositorio que se almacenará en /etc/apt/sources.list.d/ en sistemas basados en Debian. Por defecto tiene el valor de la variable "{{ jenkinslts_app_name }}" que es jenkins.
jenkinslts_repo_el_name Nombre del repositorio para Jenkins en sistemas basados en EL.
jenkinslts_repo_el_description Descripción que se añadirá en el archivo del repositorio EL para Jenkins.
jenkinslts_repo_el Base URL del repositorio para Jenkins en sistemas basados en EL.
jenkinslts_repo_el_gpgcheck Booleano que indica si se debe realizar una verificación GPG en Jenkins en sistemas basados en EL.
jenkinslts_repo_desired_state present indica que se debe crear el archivo del repositorio si no existe en sistemas basados en Debian o EL. Alternativa es absent (no se recomienda ya que evitará la instalación del paquete jenkins).
jenkinslts_app_name Nombre de la aplicación Jenkins LTS (Long Term Support), es decir jenkins.
jenkinslts_desired_state Estado del paquete jenkinslts_app_name (es decir, del paquete jenkins en sí). Indica si se debe instalar, verificar si está disponible o desinstalar (es decir, valores del módulo ansible apt: present, latest, o absent).
jenkinslts_default_debain_config_file Archivo de configuración por defecto de Jenkins en sistemas basados en Debian.
jenkinslts_default_el_config_file Archivo de configuración por defecto de Jenkins en sistemas basados en EL.
jenkinslts_app_port Puerto asignado para que Jenkins sirva.
jenkinslts_app_heapsize_max Tamaño máximo de memoria heap de la JVM que se asignará a Jenkins.
jenkinslts_service_name Nombre del servicio por defecto para Jenkins.
jenkinslts_service_desired_state Estado deseado para el servicio de Jenkins.
jenkinslts_service_desired_boot_enabled Estado deseado habilitado/deshabilitado para el servicio de Jenkins.
jenkinslts_app_check_status_code Código de estado deseado que debe devolver un manejador que verifica la URL de Jenkins después de la instalación y reinicio. Se establece en 200 ya que la ruta /login devuelve el código HTTP 200.
jenkinslts_app_check_status_code_retries Retries de URL curl establecidos en 10 (ya que Jenkins puede tardar un poco en arrancar).
jenkinslts_app_check_status_code_delay Retries de URL curl establecidos en 5.
jenkinslts_app_admin_password_file Archivo que contiene la contraseña de administrador por defecto para la interfaz de Jenkins.

Dependencias

Java es necesario para Jenkins.

Puedes instalar Java usando el rol darkwizard242.adoptopenjdk.

Ejemplo de Playbook

Para el comportamiento por defecto del rol (es decir, instalación del paquete jenkins) en playbooks de ansible.

- hosts: servers
  roles:
    - darkwizard242.jenkinslts

Para personalizar el comportamiento del rol (es decir, instalación del rol darkwizard242.adoptopenjdk junto con darkwizard242.jenkins) en playbooks de ansible.

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk
    - darkwizard242.jenkinslts
  vars:
    adoptopenjdk_app_name: adoptopenjdk-11-hotspot
    adoptopenjdk_desired_state: present
    jenkinslts_desired_state: latest

Para personalizar el comportamiento del rol (es decir, desinstalación del paquete jenkins) en playbooks de ansible.

- hosts: servers
  roles:
    - darkwizard242.jenkinslts
  vars:
    jenkinslts_desired_state: absent

Licencia

MIT

Información del Autor

Este rol fue creado por Ali Muhammad.

Acerca del proyecto

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

Instalar
ansible-galaxy install darkwizard242.jenkinslts
Licencia
mit
Descargas
4.9k
Propietario
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!