j'essaye de ssh dans un hôte distant puis d'exécuter certaines commandes sur le shell de l'hôte distant. Voici mon code de pipeline.
pipeline {
agent any
environment {
// comment added
APPLICATION = 'app'
ENVIRONMENT = 'dev'
MAINTAINER_NAME = 'jenkins'
MAINTAINER_EMAIL = '[email protected]'
}
stages {
stage('clone repository') {
steps {
// cloning repo
checkout scm
}
}
stage('Build Image') {
steps {
script {
sshagent(credentials : ['jenkins-pem']) {
sh "echo pwd"
sh 'ssh -t -t [email protected] -o StrictHostKeyChecking=no'
sh "echo pwd"
sh 'Sudo -i -u root'
sh 'cd /opt/docker/web'
sh 'echo pwd'
}
}
}
}
}
}
Mais lors de l'exécution de ce travail, il exécute sh 'ssh -t -t [email protected] -o StrictHostKeyChecking=no'
avec succès mais il s'arrête là et n'exécute aucune autre commande. Je veux exécuter les commandes qui sont écrites après la commande ssh
dans le shell de l'hôte distant. toute aide est appréciée.
Je résout ce problème
script
{
sh """ssh -tt login@Host << EOF
your command
exit
EOF"""
}