wcm_io_devops.jenkins_configuration_as_code

CI

wcm_io_devops.jenkins_configuration_as_code

Ce rôle gère l'installation, la configuration et la mise à jour du Plugin Jenkins Configuration as Code, aussi connu sous le nom de JCasC.

Tâches :

  • Installer le(s) plugin(s) JCasC
  • Configurer le chemin pour le plugin JCasC
  • Déploiement des fichiers de configuration JCasC
  • Rechargement de JCasC

Exigences

Ce rôle nécessite Ansible 2.7 ou supérieur et un Jenkins opérationnel sur l'instance cible.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut.

jenkins_casc_admin_username: admin

Nom d'utilisateur admin Jenkins.

jenkins_casc_admin_password: admin

Mot de passe admin Jenkins.

jenkins_casc_owner: jenkins

Utilisateur Linux jenkins.

jenkins_casc_group: "{{ jenkins_casc_owner }}"

Groupe Linux de l'utilisateur Jenkins.

jenkins_casc_jenkins_hostname: localhost

Nom d'hôte de l'instance Jenkins.

jenkins_casc_jenkins_port: 8080

Port HTTP de l'instance Jenkins.

jenkins_casc_jenkins_url_prefix: ""

Préfixe d'URL de l'instance Jenkins, par exemple, lorsqu'elle fonctionne sous Tomcat.

jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"

L'URL de base de l'instance Jenkins.

jenkins_casc_jenkins_home: "/var/lib/jenkins"

Chemin vers le répertoire casc de Jenkins contenant les fichiers yaml de configuration.

jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"

Chemin vers le répertoire casc de Jenkins contenant les fichiers yaml de configuration.

jenkins_casc_config_path_configure: false

Active / Désactive la configuration du chemin de configuration. Lorsque cette valeur est définie à true, le chemin JCasC dans l'instance Jenkins est défini sur jenkins_casc_config_path. Lorsque le chemin diffère de celui précédemment défini, la configuration est rechargée directement.

jenkins_casc_config_fileglobs: []

Fichiers de configuration/modèles à télécharger. Lorsque le résultat de cette étape change, la configuration sera rechargée.

jenkins_casc_config_unmanaged_delete: false

Contrôle si les fichiers existants dans le 'jenkins_casc_config_path' sont supprimés lorsqu'ils ne sont pas inclus dans les 'jenkins_casc_config_fileglobs'. La suppression ne sera exécutée que si au moins un fichier a été téléchargé dans le 'jenkins_casc_config_path'.

jenkins_casc_script_timeout: 60

Le délai d'attente pour les tâches jenkins_script en secondes.

jenkins_casc_plugins_present:
  - name: configuration-as-code
    version: "1.3"
  - name: configuration-as-code-support
    version: "1.3"

Plugins nécessaires pour configuration-as-code.

jenkins_casc_secrets_dir: /var/jenkins_secrets

Dossier où les informations d'identification seront stockées sur le master. Le chemin sera configuré dans la variable d'environnement SECRETS.

jenkins_casc_secrets_unmanaged_delete: true

Contrôle si le rôle supprimera les informations d'identification existantes mais non définies dans jenkins_casc_secrets_dir. La suppression ne sera exécutée que si au moins un secret a été téléchargé dans le 'jenkins_casc_secrets_dir'.

jenkins_casc_secrets: []
# Exemple :
# - id: credential-id
#   value: credential-value

Liste de paires d'identifiants/valeurs. L'id peut ensuite être référencé dans jcasc avec ${id} comme référence de valeur.

Dépendances

Ce rôle dépend du wcm_io_devops.jenkins_plugins rôle pour installer/désinstaller les plugins.

En tant que dépendance transitive, ce rôle utilise le wcm_io_devops.jenkins_facts rôle pour récupérer la liste des plugins installés depuis l'instance Jenkins.

Exemple de Playbook

Ce playbook configurera le chemin de configuration JCasC à /var/lib/jenkins/jcasc-folder et déploiera tous les fichiers .yml et .yaml trouvés sous file/jcasc/my-jenkins/ dans ce dossier.

- name: "Déployer jcasc"
  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

Licence

Apache 2.0

À propos du projet

Configures Jenkins configuration as code plugin (jcasc).

Installer
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code
Licence
apache-2.0
Téléchargements
12.9k
Propriétaire
Tools for Configuration Management and Deployment