meierw.jenkins_config
jenkins_config
Ansible-Rolle zur Verwaltung verschiedener Optionen und Konfigurationen in Jenkins.
Anforderungen
- Ein Jenkins-Dienst sowie alle Plugins, die Sie konfigurieren möchten.
- Die Fähigkeit, jenkins_script gegen den genannten Jenkins-Dienst auszuführen.
Rollenvariablen
WICHTIG: Wenn angegeben, überschreiben die meisten dieser Variablen zuvor festgelegte Jenkins-Optionen. Achten Sie darauf, dass Sie keine Einstellungen verlieren, die Sie zuvor eingerichtet haben.
jenkins_config_url: http://localhost:8080
jenkins_config_user: admin
jenkins_config_password: admin
Die URL, der Benutzername und das Passwort zur Authentifizierung bei Jenkins. Werden verwendet, um jenkins_script
auszuführen.
jenkins_config_csrf_enabled: null
Zustand des CSRF-Schutzes, der in den Jenkins-Einstellungen festgelegt werden soll. Eine Festlegung erfolgt nur, wenn einer der unterstützten Werte angegeben ist.
Unterstützte Werte:
true
false
jenkins_config_global_environment_variables: []
# jenkins_config_global_environment_variables:
# - name: FOO
# value: bar
# - name: TOKEN
# value: xxxyyyzzz
Globale Umgebungsvariablen für Jenkins, die in den Jenkins-Einstellungen festgelegt werden sollen. Eine Festlegung erfolgt nicht, wenn die Liste leer ist.
jenkins_config_pipeline_durability: ''
Standardgeschwindigkeit/Dauerhaftigkeitsniveau der Pipeline, das in den Jenkins-Einstellungen festgelegt werden soll. Eine Festlegung erfolgt nicht, es sei denn, einer der unterstützten Werte ist angegeben.
Unterstützte Werte:
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 des Theme-CSS, das in den einfachen Theme-Einstellungen von Jenkins festgelegt werden soll. Eine Festlegung erfolgt nicht, wenn dieser Wert leer ist.
jenkins_config_jenkins_url: ''
Jenkins-URL, die in den Jenkins-Einstellungen festgelegt werden soll. Eine Festlegung erfolgt nicht, wenn dieser Wert leer ist.
jenkins_config_system_admin_email: ''
E-Mail-Adresse des Systemadministrators, die in den Jenkins-Einstellungen festgelegt werden soll. Eine Festlegung erfolgt nicht, wenn dieser Wert leer ist.
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
Globale Pipeline-Bibliotheken, die in den Jenkins-Einstellungen festgelegt werden sollen. Alle Felder sollten einen nicht-null Wert enthalten (leer / 0 / etc. je nach Typ). Eine Festlegung erfolgt nicht, wenn die Liste leer ist.
Pflichtfelder (dürfen nicht leer sein):
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
Werte zur E-Mail-Benachrichtigung, die in den Jenkins-Einstellungen festgelegt werden sollen. Alle Felder sollten einen nicht-null Wert enthalten (leer / 0 / etc. je nach Typ). Eine Festlegung erfolgt nicht, wenn jenkins_config_email_notification.smtp_server
undefiniert ist.
jenkins_config_credentials: []
# jenkins_config_credentials:
# - kind: ssh_username_with_private_key
# id: jenkins-ssh
# username: jenkins
# private_key: "{{ secret_key }}"
# passphrase: ''
# description: Schlüssel von Ansible hinzugefügt
Zugangsdaten, die im globalen Bereich festgelegt werden sollen. Alle Felder sollten einen nicht-null Wert enthalten (leer / 0 / etc. je nach Typ). Eine Festlegung erfolgt nicht, wenn die Liste leer ist.
Pflichtfelder (dürfen nicht leer sein):
kind
id
Unterstützte kind
und zusätzliche benötigte Felder:
username_with_password
id
: Stringusername
: Stringpassword
: Stringdescription
: String
ssh_username_with_private_key
id
: Stringusername
: Stringprivate_key
: Stringpassphrase
: Stringdescription
: String
jenkins_config_nodes: []
# jenkins_config_nodes:
# - name: slave0
# description: Knoten von Ansible hinzugefügt
# num_of_executors: 2
# remote_root_directory: /var/lib/jenkins
# labels: durch Leerzeichen getrennte Labels
# usage: exklusiv
# 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: # optionale Definition
# - name: FOO
# value: bar
# disable_deferred_wipeout: true # optionale Definition
Knoten, die in Jenkins festgelegt werden sollen. Alle definierten Felder sollten einen nicht-null Wert enthalten (leer / 0 / etc. je nach Typ). Eine Festlegung erfolgt nicht, wenn die Liste leer ist.
Pflichtfelder (dürfen nicht leer sein):
name
num_of_executors
remote_root_directory
usage
launch_method
availability
Unterstützte Werte für usage
:
normal
exclusive
Unterstützte launch_method
: type
und zusätzliche benötigte Felder:
via_command
command
: String
via_ssh
host
: Stringport
: Ganzzahlcredentials_id
: String- Unterstützte
verification_strategy
:type
und zusätzliche benötigte Felder:known_hosts_file
manually_provided_key
ssh_key
: String
manually_trusted_key
require_initial_manual_trust
: Boolean
non_verifying
Unterstützte availability
: type
und zusätzliche benötigte Felder:
always
schedule
startup_schedule
: Stringscheduled_uptime
: Ganzzahlkeep_up_when_active
: Boolean
demand
in_demand_delay
: Ganzzahlidle_delay
: Ganzzahl
Beispiel-Playbook
- hosts: servers
roles:
- { role: meierw.jenkins_config }
Lizenz
MIT
Autorinformationen
- Autor: Walter Meier
Manages various options/configurations in Jenkins.
ansible-galaxy install meierw.jenkins_config