wcm_io_devops.jenkins_configuration_as_code
wcm_io_devops.jenkins_configuration_as_code
Este rol gestiona la instalación, configuración y actualización del Complemento de Configuración como Código de Jenkins, también conocido como JCasC.
Tareas:
- Instalar complementos de JCasC
- Configurar la ruta para el complemento JCasC
- Despliegue de archivos de configuración JCasC
- Recarga de JCasC
Requisitos
Este rol requiere Ansible 2.7 o superior y un Jenkins en ejecución en la instancia de destino.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados.
jenkins_casc_admin_username: admin
Nombre de usuario del administrador de Jenkins.
jenkins_casc_admin_password: admin
Contraseña del administrador de Jenkins.
jenkins_casc_owner: jenkins
Usuario de Linux Jenkins.
jenkins_casc_group: "{{ jenkins_casc_owner }}"
Grupo de Linux del usuario Jenkins.
jenkins_casc_jenkins_hostname: localhost
Nombre del host de la instancia de Jenkins.
jenkins_casc_jenkins_port: 8080
Puerto HTTP de la instancia de Jenkins.
jenkins_casc_jenkins_url_prefix: ""
Prefijo de URL de la instancia de Jenkins, por ejemplo, cuando se ejecuta en Tomcat.
jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"
La URL base de la instancia de Jenkins.
jenkins_casc_jenkins_home: "/var/lib/jenkins"
Ruta al directorio JCasC de Jenkins que contiene los archivos YAML para la configuración.
jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"
Ruta al directorio JCasC de Jenkins que contiene los archivos YAML para la configuración.
jenkins_casc_config_path_configure: false
Habilita / Deshabilita la configuración de la ruta de configuración. Cuando
este valor se establece en true, la ruta JCasC en la instancia de Jenkins se establece en jenkins_casc_config_path
. Cuando la ruta difiere de la ruta establecida anteriormente, la configuración se recarga directamente.
jenkins_casc_config_fileglobs: []
Archivos de configuración/plantillas para cargar. Cuando el resultado de este paso cambia, la configuración se recargará.
jenkins_casc_config_unmanaged_delete: false
Controla si los archivos que existen en 'jenkins_casc_config_path' se eliminan cuando no están incluidos en 'jenkins_casc_config_fileglobs'. La eliminación solo se ejecutará cuando se haya cargado al menos un archivo en 'jenkins_casc_config_path'.
jenkins_casc_script_timeout: 60
El tiempo de espera para tareas jenkins_script en segundos.
jenkins_casc_plugins_present:
- name: configuration-as-code
version: "1.3"
- name: configuration-as-code-support
version: "1.3"
Complementos necesarios para la configuración como código.
jenkins_casc_secrets_dir: /var/jenkins_secrets
Carpeta donde se almacenarán las credenciales en el maestro. La ruta se configurará en la variable de entorno SECRETS.
jenkins_casc_secrets_unmanaged_delete: true
Controla si el rol eliminará credenciales existentes pero no definidas del jenkins_casc_secrets_dir. La eliminación solo se ejecutará cuando se haya cargado al menos un secreto en 'jenkins_casc_secrets_dir'.
jenkins_casc_secrets: []
# Ejemplo:
# - id: credential-id
# value: credential-value
Lista de pares de credenciales id/valor. El id
se puede hacer referencia en JCasC con ${id}
como referencia de valor.
Dependencias
Este rol depende del rol wcm_io_devops.jenkins_plugins para instalar/desinstalar los complementos.
Como dependencia transitiva, este rol utiliza wcm_io_devops.jenkins_facts para obtener la lista de complementos instalados de la instancia de Jenkins.
Ejemplo de Playbook
Este playbook establecerá la ruta de configuración JCasC en
/var/lib/jenkins/jcasc-folder
y desplegará todos los archivos .yml
y
.yaml
encontrados en file/jcasc/my-jenkins/
a esta carpeta.
- name: "Desplegar jcasc"
hosts: jenkins
vars:
jenkins_casc_config_path_configure: true
jenkins_casc_config_path: "/var/lib/jenkins/jcasc-folder"
jenkins_casc_config_fileglobs:
- file/jcasc/my-jenkins/*.yml
- file/jcasc/my-jenkins/*.yaml
roles:
- wcm_io_devops.jenkins_configuration_as_code
Licencia
Apache 2.0
Configures Jenkins configuration as code plugin (jcasc).
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code