wcm_io_devops.jenkins_configuration_as_code
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
Configures Jenkins configuration as code plugin (jcasc).
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code