darkwizard242.jenkinslts
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
Información del Autor
Este rol fue creado por Ali Muhammad.
Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.
ansible-galaxy install darkwizard242.jenkinslts