Несколько s sh пультов в одном конвейере jenkins - PullRequest
1 голос
/ 27 мая 2020

Могу ли я использовать много пультов в одном конвейере jenkins с помощью плагина S SH Pipeline Steps?

Теперь мой конвейер выглядит так:

def remote = [:]
remote.name = 'PRE-DEV'
remote.host = 'x.x.x.x'
remote.user = 'jenkins'
remote.identityFile = '/var/lib/jenkins/.ssh/id_rsa'
remote.allowAnyHosts = true
remote.agentForwarding = true


pipeline {
agent any

stages{
   stage('BUILD'){
        steps{
            sshCommand remote: remote, command: "build commands"
        }
    }

    stage('UNIT TESTS'){
        steps{
           sshCommand remote: remote, command: "tests commands"
        }
    }

    stage('DEPLOY TO DEV'){
        steps{
            sshCommand remote: remote, command: "scp artifacts push to other vm"
        }
    }
}

Теперь мне нужен дополнительный этап (' RUN ON DEV '), где я могу запускать свои артефакты на другой виртуальной машине. Как я могу сделать это в одном конвейере?

1 Ответ

0 голосов
/ 27 мая 2020

решение первое:

вы можете просто определить другой dict, например удар:

def secondRemote = [:]
secondRemote.name = 'PRE-DEV'
secondRemote.host = 'your new host'
secondRemote.user = 'jenkins'
secondRemote.identityFile = '/var/lib/jenkins/.ssh/id_rsa'
secondRemote.allowAnyHosts = true
secondRemote.agentForwarding = true

, а затем использовать его sshCommand remote: secondRemote, command: "your new command"

решение 2:

сохраните свой закрытый ключ в учетных данных jenkins, а затем используйте плагин s sh -agent.

https://www.jenkins.io/doc/pipeline/steps/ssh-agent/

...