-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Minor
-
Component/s: ssh-steps-plugin
-
None
I've the following declarative pipeline:
#!groovy
pipeline {
agent any
parameters {
string(name: 'DEPLOY_USER', defaultValue: '', description: 'User of deploy server')
string(name: 'DEPLOY_SERVER', defaultValue: 'deploy.invitel-ug.de', description: 'Deploy server')
}
environment {
SSH_IDENTITY_FILE_PRIVATE = '/var/jenkins_home/.ssh/id_rsa'
SSH_KNOWN_HOSTS_FILE = '/var/jenkins_home/.ssh/known_hosts'
}
stages {
stage('Run') {
steps {
script {
remote = createDeployRemote()
sshCommand remote: remote, command: "echo 1"
}
}
post {
always {
script {
remote = createDeployRemote()
sshCommand remote: remote, command: "echo 2"
}
}
}
}
}
}
def createDeployRemote() {
def remote = [: ]
remote.name = "${params.DEPLOY_SERVER}"
remote.host = "${params.DEPLOY_SERVER}"
remote.user = "${params.DEPLOY_USER}"
remote.knownHosts = "${SSH_KNOWN_HOSTS_FILE}"
remote.allowAnyHosts = true
remote.identityFile = "${SSH_IDENTITY_FILE_PRIVATE}"
remote.timeoutSec = 10
remote.retryCount = 3
remote.retryWaitSec = 3
return remote
}
The first command within step is executed and I can see it's output, but within post{} it's not executed at all, but marked as successful. Same goes for putting post{} after stages{}.