213 shaares
4 résultats
taggé
ansible
The two methods to retrieve files from one distant server to another
Mais qu’est-ce qu’on attend ?!
Snoop doggy dog !
Des poneys c’est mieux que des petites vaches !
Le Jenkinsfile utilisé :
pipeline {
agent {
node { label 'With-Ansible' }
}
environment {
VM_CREDENTIALS = credentials('my-vm-credentials')
VM_USER = "${VM_CREDENTIALS_USR}"
VM_KEY = "${VM_CREDENTIALS_PSW}"
HOST_NAME = "my-vm-host"
}
stages {
stage('PING MACHINE') {
steps {
script {
println " ========== PING ${HOST_NAME} ========== "
sh "ansible all -i ${HOST_NAME}, -m ping -u ${VM_USER} --extra-vars=\"ansible_ssh_pass=${VM_KEY} ansible_connection=ssh ansible_port='22' ansible_ssh_common_args='-o StrictHostKeyChecking=no'\""
}
}
}
}
}
Il faut laisser la virgule :)
Voici comment déclarer un cron via Ansible :
- name: 'backup chron is declared'
cron:
name: 'Backup Database'
backup: 'yes'
cron_file: '{{ application }}-data-backup'
job: '{{ PATH_TO_SH_FILE_TO_BE_EXECUTED }}'
state: 'present'
minute: '0'
hour: '*/12'
day: '*'
month: '*'
weekday: '*'
user: '{{ VM_USER }}'
Quelques infos :
- Si la propriété cron_file n'est pas renseigné, alors le cron sera déclaré dans crontab (cron en mémoire), s'il est renseigné, un fichier sera créé dans /etc/cron.d/ pour être relancé au reboot
- job : Le chemin vers le script qui doit être lancé
- name : le nom du cron
- state : 'present' ou 'absent'
- minute, jour... : valeur par défaut : "*"
- au lieu de minute, hour,... on peut mettre special_time. Valeurs acceptées : annually, daily, hourly, monthly, reboot, weekly, yearly
Exemples depuis la doc :
Job au moment du reboot
- name: Creates an entry like "@reboot /some/job.sh"
cron:
name: "a job for reboot"
special_time: reboot
job: "/some/job.sh"
Créer une variable d'environnement :
- name: Creates an entry like "PATH=/opt/bin" on top of crontab
cron:
name: PATH
env: yes
job: /opt/bin