wcm_io_devops.jenkins_configuration_as_code

CI

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

Acerca del proyecto

Configures Jenkins configuration as code plugin (jcasc).

Instalar
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code
Licencia
apache-2.0
Descargas
12.9k
Propietario
Tools for Configuration Management and Deployment