commit f47b6920110d1aa87e2a44a6597353e96b5e9cf8 Author: jules Date: Sun May 18 00:30:55 2025 +0000 Téléverser les fichiers vers "/" diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..46839ba --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,25 @@ +pipeline { + agent any + stages { + stage('Check for Updates') { + steps { + script { + // Exécutez le playbook Ansible pour vérifier les mises à jour + def result = sh(script: 'ansible-playbook -i jenkinks_update_prod/inventory.ini jenkinks_update_prod/upgrade_reboot.yml', returnStdout: true) + echo "Résultat de la vérification des mises à jour :\n${result}" + } + } + } + stage('Approval') { + steps { + input message: 'Voulez-vous procéder à l\'installation des mises à jour ?' + } + } + stage('Install Updates') { + steps { + // Exécutez à nouveau le playbook Ansible pour installer les mises à jour et redémarrer + sh 'ansible-playbook -i jenkinks_update_prod/inventory.ini jenkinks_update_prod/upgrade_reboot.yml' + } + } + } +} diff --git a/inventory.ini b/inventory.ini new file mode 100644 index 0000000..15b418c --- /dev/null +++ b/inventory.ini @@ -0,0 +1,7 @@ +[alpine_vms] +Front ansible_host=10.24.100.100 +Audio ansible_host=10.24.100.101 +Doc ansible_host=10.24.100.102 +Worker ansible_host=10.24.100.103 +Media ansible_host=10.24.100.104 +VaultM ansible_host=10.24.100.105 diff --git a/upgrade_reboot.yml b/upgrade_reboot.yml new file mode 100644 index 0000000..2ab9ce6 --- /dev/null +++ b/upgrade_reboot.yml @@ -0,0 +1,22 @@ +--- +- name: Vérifier et installer les mises à jour sur Alpine Linux + hosts: all + become: yes + tasks: + - name: Vérifier les mises à jour disponibles + command: apk update + register: apk_update + + - name: Lister les mises à jour disponibles + command: apk list --upgradable + register: apk_upgradable + when: apk_update.rc == 0 + + - name: Installer les mises à jour + command: apk upgrade + when: apk_upgradable.stdout != "" + + - name: Redémarrer la machine + reboot: + reboot_timeout: 300 + when: apk_upgradable.stdout != ""