wcm_io_devops.jenkins_configuration_as_code

CI

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

Über das Projekt

Configures Jenkins configuration as code plugin (jcasc).

Installieren
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code
Lizenz
apache-2.0
Downloads
12.9k
Besitzer
Tools for Configuration Management and Deployment