wcm_io_devops.jenkins_configuration_as_code
wcm_io_devops.jenkins_configuration_as_code
Diese Rolle verwaltet die Installation, Konfiguration und Aktualisierung des Jenkins Configuration as Code Plugins, auch bekannt als JCasC.
Aufgaben:
- Installation der JCasC-Plugins
- Konfiguration des Pfades für das JCasC-Plugin
- Bereitstellung von JCasC-Konfigurationsdateien
- Neuladen von JCasC
Anforderungen
Diese Rolle benötigt Ansible 2.7 oder höher und ein laufendes Jenkins auf der Zielinstanz.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit ihren Standardwerten.
jenkins_casc_admin_username: admin
Benutzername für den Jenkins-Administrator.
jenkins_casc_admin_password: admin
Passwort für den Jenkins-Administrator.
jenkins_casc_owner: jenkins
Linux Jenkins-Benutzer.
jenkins_casc_group: "{{ jenkins_casc_owner }}"
Linux-Gruppe des Jenkins-Benutzers.
jenkins_casc_jenkins_hostname: localhost
Hostname der Jenkins-Instanz.
jenkins_casc_jenkins_port: 8080
HTTP-Port der Jenkins-Instanz.
jenkins_casc_jenkins_url_prefix: ""
URL-Präfix der Jenkins-Instanz, z.B. wenn sie in Tomcat ausgeführt wird.
jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"
Die Basis-URL der Jenkins-Instanz.
jenkins_casc_jenkins_home: "/var/lib/jenkins"
Pfad zum JCasC-Verzeichnis, das die YAML-Dateien für die Konfiguration enthält.
jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"
Pfad zum JCasC-Verzeichnis, das die YAML-Dateien für die Konfiguration enthält.
jenkins_casc_config_path_configure: false
Aktiviert/Deaktiviert die Konfiguration des Konfigurationspfades. Wenn dieser Wert auf true gesetzt ist, wird der JCasC-Pfad in der Jenkins-Instanz auf jenkins_casc_config_path
gesetzt. Wenn der Pfad von dem zuvor gesetzten Pfad abweicht, wird die Konfiguration sofort neu geladen.
jenkins_casc_config_fileglobs: []
Konfigurationsdateien/Vorlagen zum Hochladen. Wenn sich das Ergebnis dieses Schrittes ändert, wird die Konfiguration neu geladen.
jenkins_casc_config_unmanaged_delete: false
Steuert, ob Dateien, die im 'jenkins_casc_config_path' vorhanden sind, gelöscht werden, wenn sie nicht in den 'jenkins_casc_config_fileglobs' enthalten sind. Die Löschung wird nur ausgeführt, wenn mindestens eine Datei in den 'jenkins_casc_config_path' hochgeladen wurde.
jenkins_casc_script_timeout: 60
Die Zeitüberschreitung für jenkins_script-Aufgaben in Sekunden.
jenkins_casc_plugins_present:
- name: configuration-as-code
version: "1.3"
- name: configuration-as-code-support
version: "1.3"
Benötigte Plugins für Configuration as Code.
jenkins_casc_secrets_dir: /var/jenkins_secrets
Ordner, in dem die Anmeldeinformationen auf dem Master gespeichert werden. Der Pfad wird in der Umgebungsvariable SECRETS konfiguriert.
jenkins_casc_secrets_unmanaged_delete: true
Steuert, ob die Rolle vorhandene, aber nicht definierte Anmeldeinformationen aus dem jenkins_casc_secrets_dir löschen wird. Die Löschung wird nur ausgeführt, wenn mindestens ein Geheimnis in den 'jenkins_casc_secrets_dir' hochgeladen wurde.
jenkins_casc_secrets: []
# Beispiel:
# - id: credential-id
# value: credential-value
Liste von id/Wert-Anmeldeinformationen-Paaren. Die id
kann dann in JCasC mit ${id}
als Wertreferenz verwendet werden.
Abhängigkeiten
Diese Rolle hängt von der wcm_io_devops.jenkins_plugins Rolle ab, um die Plugins zu installieren/deinstallieren.
Als transitive Abhängigkeit verwendet diese Rolle die wcm_io_devops.jenkins_facts Rolle, um die Liste der installierten Plugins von der Jenkins-Instanz abzurufen.
Beispiel-Playbook
Dieses Playbook setzt den JCasC-Konfigurationspfad auf
/var/lib/jenkins/jcasc-folder
und wird alle .yml
und
.yaml
Dateien bereitstellen, die in file/jcasc/my-jenkins/
gefunden werden.
- name: "Jcasc bereitstellen"
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
Lizenz
Apache 2.0
Configures Jenkins configuration as code plugin (jcasc).
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code