meierw.jenkins_config
jenkins_config
Rol de Ansible que gestiona varias opciones/configuraciones en Jenkins.
Requisitos
- Un servicio de Jenkins y cualquier complemento que planees configurar.
- La capacidad de ejecutar jenkins_script contra el servicio de Jenkins mencionado.
Variables del Rol
IMPORTANTE: Cuando se especifican, la mayoría de estas variables sobrescribirán las opciones de Jenkins configuradas previamente. Ten cuidado de no perder ninguna configuración que ya hayas establecido.
jenkins_config_url: http://localhost:8080
jenkins_config_user: admin
jenkins_config_password: admin
La URL, el nombre de usuario y la contraseña para autenticarse en Jenkins. Se utilizarán para ejecutar jenkins_script
.
jenkins_config_csrf_enabled: null
Estado de Protección CSRF que se debe establecer en la configuración de Jenkins. No se establecerá a menos que se especifique uno de los valores admitidos.
Valores admitidos:
true
false
jenkins_config_global_environment_variables: []
# jenkins_config_global_environment_variables:
# - name: FOO
# value: bar
# - name: TOKEN
# value: xxxyyyzzz
Variables de Entorno Globales de Jenkins para establecer en la configuración de Jenkins. No se establecerá si la lista está vacía.
jenkins_config_pipeline_durability: ''
Nivel de Velocidad/Durabilidad Predeterminado de Pipeline para establecer en la configuración de Jenkins. No se establecerá, a menos que se especifique uno de los valores admitidos.
Valores admitidos:
max_survivability
performance_optimized
survivable_nonatomic
jenkins_config_simple_theme_css_url: ''
# jenkins_config_simple_theme_css_url: https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-indigo.css
URL del CSS del tema para establecer en la configuración del Tema Simple de Jenkins. No se establecerá si este valor está vacío.
jenkins_config_jenkins_url: ''
URL de Jenkins para establecer en la configuración de Jenkins. No se establecerá si este valor está vacío.
jenkins_config_system_admin_email: ''
Dirección de correo electrónico del Administrador del Sistema para establecer en la configuración de Jenkins. No se establecerá si este valor está vacío.
jenkins_config_global_pipeline_libraries: []
# jenkins_config_global_pipeline_libraries:
# - name: global-pipeline-library
# default_version: master
# load_implicitly: false
# allow_default_version_override: true
# scm_git_path: '[email protected]:example/global-pipeline-library.git'
# scm_credentials_id: jenkins-ssh
Bibliotecas Globales de Pipeline para establecer en la configuración de Jenkins. Todos los campos deben contener un valor no nulo (vacío / 0 / etc. dependiendo del tipo). No se establecerá si la lista está vacía.
Campos obligatorios (no pueden estar vacíos):
name
scm_git_path
scm_credentials_id
jenkins_config_email_notification: null
# jenkins_config_email_notification:
# smtp_server: smtp.gmail.com
# default_user_email_suffix: @example.com
# smtp_auth_username: example
# smtp_auth_password: "{{ secret_smtp_password }}"
# use_ssl: false
# smtp_port: 465
# reply_to_address: ''
# charset: UTF-8
Valores de Notificación por Correo Electrónico para establecer en la configuración de Jenkins. Todos los campos deben contener un valor no nulo (vacío / 0 / etc. dependiendo del tipo). No se establecerá si jenkins_config_email_notification.smtp_server está indefinido
.
jenkins_config_credentials: []
# jenkins_config_credentials:
# - kind: ssh_username_with_private_key
# id: jenkins-ssh
# username: jenkins
# private_key: "{{ secret_key }}"
# passphrase: ''
# description: Clave añadida desde Ansible
Credenciales para establecer en el ámbito Global. Todos los campos deben contener un valor no nulo (vacío / 0 / etc. dependiendo del tipo). No se establecerá si la lista está vacía.
Campos obligatorios (no pueden estar vacíos):
kind
id
kind
admitido y campos extra necesarios para ello:
username_with_password
id
: cadenausername
: cadenapassword
: cadenadescription
: cadena
ssh_username_with_private_key
id
: cadenausername
: cadenaprivate_key
: cadenapassphrase
: cadenadescription
: cadena
jenkins_config_nodes: []
# jenkins_config_nodes:
# - name: slave0
# description: Nodo añadido desde Ansible
# num_of_executors: 2
# remote_root_directory: /var/lib/jenkins
# labels: labels separadas por espacios
# usage: exclusivo
# launch_method:
# type: via_ssh
# host: slave0.example.com
# port: 22
# credentials_id: jenkins-ssh
# verification_strategy:
# type: manually_trusted_key
# require_initial_manual_trust: true
# availability:
# type: always
# environment_variables: # definición opcional
# - name: FOO
# value: bar
# disable_deferred_wipeout: true # definición opcional
Nodos para establecer en Jenkins. Todos los campos definidos deben contener un valor no nulo (vacío / 0 / etc. dependiendo del tipo). No se establecerá si la lista está vacía.
Campos obligatorios (no pueden estar vacíos):
name
num_of_executors
remote_root_directory
usage
launch_method
availability
Valores admitidos para usage
:
normal
exclusive
Método de lanzamiento type
admitido y campos extra necesarios para ello:
via_command
command
: cadena
via_ssh
host
: cadenaport
: enterocredentials_id
: cadena- Valores de
verification_strategy
admitidos:type
y campos adicionales necesarios para ello:known_hosts_file
manually_provided_key
ssh_key
: cadena
manually_trusted_key
require_initial_manual_trust
: booleano
non_verifying
Valores de availability
admitidos: type
y campos adicionales necesarios para ello:
always
schedule
startup_schedule
: cadenascheduled_uptime
: enterokeep_up_when_active
: booleano
demand
in_demand_delay
: enteroidle_delay
: entero
Ejemplo de Playbook
- hosts: servers
roles:
- { role: meierw.jenkins_config }
Licencia
MIT
Información del Autor
- Autor: Walter Meier
Manages various options/configurations in Jenkins.
ansible-galaxy install meierw.jenkins_config