The two methods to retrieve files from one distant server to another
— Permalien
Mais qu’est-ce qu’on attend ?!
Snoop doggy dog !
Des poneys c’est mieux que des petites vaches !
— Permalien
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 :)
— Permalien
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 :
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
]]>