Пытаюсь на VPS поднять Jenkins. Там уже склонирован репозиторий и запущен в докере.
Мне надо выполнить там пару команд всего при деплое, именно в том каталоге.
pipeline {
agent any
stages {
stage('Test') {
steps {
slackSend (color: '#FFFF00', message: "TEST STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
sh 'chmod +x ./sh/*.sh'
sh 'bash ./sh/postinstall.sh'
sh 'cp .env.example .env'
sh 'rm -rf ./node_modules'
sh 'npm install --from-lock-file --force --no-save'
sh 'npm run lint'
sh 'npm run docs'
sh 'npm run test'
slackSend (color: '#00FF00', message: "TEST COMPLETED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
}
stage('Stage build') {
when {
anyOf {
branch 'dev'
}
}
steps {
slackSend (color: '#FFFF00', message: "STAGE BUILD STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
ws('/home/ubuntu/deploy/backend') {
sh(returnStdout: true, script: 'chmod +x ./sh/*.sh && bash ./sh/stage.sh')
}
slackSend (color: '#00FF00', message: "STAGE BUILD COMPLETED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
}
}
environment {
STAGE_PATH = '/home/ubuntu/deploy/backend'
}
post {
failure {
slackSend (color: '#FF0000', message: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
}
}
Но на шаге Stage build в лог Jenkins выдает одну строку: /home/ubuntu/deploy/backend@tmp.
Хотя запуская на локальной машине в stdout выводится лог сборки Docker контейнера из скрипта sh/stage.sh.