meierw.jenkins_config

jenkins_config

Build-Status

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: String
    • username: String
    • password: String
    • description: String
  • ssh_username_with_private_key
    • id: String
    • username: String
    • private_key: String
    • passphrase: String
    • description: 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: String
    • port: Ganzzahl
    • credentials_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: String
    • scheduled_uptime: Ganzzahl
    • keep_up_when_active: Boolean
  • demand
    • in_demand_delay: Ganzzahl
    • idle_delay: Ganzzahl

Beispiel-Playbook

- hosts: servers
  roles:
    - { role: meierw.jenkins_config }

Lizenz

MIT

Autorinformationen

Über das Projekt

Manages various options/configurations in Jenkins.

Installieren
ansible-galaxy install meierw.jenkins_config
GitHub Repository
Lizenz
mit
Downloads
143
Besitzer