Jenkins передает в SSH экземпляр и вызывает функцию - PullRequest
0 голосов
/ 23 мая 2018

Как создать функцию def test(), которая делает несколько шагов после ssh вхождения в экземпляр

У меня есть что-то вроде этого:

#!/usr/bin/env groovy

def test() {
    cd $testPath
    mv test*.txt archiveFiles
    sh "someScript.sh"
}

pipeline { 
agent java
    parameters {
       string(
            name: 'testPath',
            defaultValue: '/home/ubuntu/testFiles',
            description: 'file directory'
        )
    }
        stages {
        stage(test) {
            steps{
                script{
                    sh "ssh ubuntu@IP 'test()'"
                }
            }

        }
    }
}

Я пытаюсь ssh в экземпляр и выполните шаги функции test(), вызвав ее. Я получаю сообщение об ошибке, подобное этому: bash: -c: line 1: syntax error: unexpected end of file ERROR: script returned exit code 1

1 Ответ

0 голосов
/ 23 мая 2018

Мы используем плагин SSH следующим образом:

steps {
    timeout(time: 2, unit: 'MINUTES') {
        sshagent(credentials: ['local-dev-ssh']) {
                    sh "ssh -p 8022 -l app ${ENVIRONMENT_HOST_NAME} './run-apps.sh ${SERVICE_NAME} ${DOCKER_IMAGE_TAG_PREFIX}-${env.BUILD_NUMBER}'"
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...