[Jenkins] : Pipeline, groovy et copie d'un fichier sur un serveur distant
Bonjour.
Tout fonctionne jusqu'au dernier stage.
J'ai un fichier fichier.sh dans le cache de jenkins que j'ai récupéré sur Git et je veux le copier dans le répertoire /home/alain du serveur monServeur.
La connexion à monServeur s'est bien passée mais comment indiquer à Jenkins si je suis dans son cache où sur monServeur lorsque je fais : cp "fichier.sh" "/home/alain";
Merci de votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| //Jenkins plugins :
// -Robot Framework plugin
//
pipeline {
agent any
stages {
stage('Effacement repertoire logs') {
steps {
sh 'rm -rf log/'
}
}
stage('Accès Git') {
steps {
git branch: 'develop', credentialsId: 'XXXX', url: 'https://gitXXXX'
}
}
stage('Mise en cache') {
steps {
//Pour ne mettre que le fichier choisi en cache
stash name: "init", includes: 'sh/fichier.sh'
}
}
stage('Connexion à monServeur') {
steps {
sshagent (credentials: ['jenkins']) {
sh 'ssh -tt user@ipserveur'
}
}
}
stage('copie du fichier fichier.sh sur monServeur dans /home/alain') {
steps {
sh '''
if [ -f fichier.sh]; then
echo "fichier.sh existe"
else
cp "fichier.sh" "/home/alain";
echo "copie de fichier.sh sur monServeur"
fi
'''
}
} |