У меня есть базовый Jenkins pipeline
, который создает проект Java
и развертывает артефакт в экземпляре EC2
.
Сборочная часть работает нормально, но развертывание не работает и выдает ошибку, связанную с scp
.
Я скопировал и вставил всю команду scp
, присутствующую в моем Jenkinsfile
, в командную строку Windows
, чтобы проверить, работает ли она и копирует ли она в экземпляр ec2
успешно и работает.
Не уверен, почему он не работает через Jenkins
.
Jenkinsfile
pipeline {
agent any
tools {
maven "Maven3"
}
stages {
stage('Build and Deploy') {
steps {
script {
def os = System.properties['os.name'].toLowerCase()
echo "OS: ${os}"
if (os.contains("linux")) {
sh "mvn clean install -DskipTests"
} else {
bat "mvn clean install -DskipTests"
bat "scp -i C:\\Users\\Nital\\.ssh\\LightsailDefaultKey-us-east-1.pem target\\helloworld-rest-app.jar ec2-user@35.175.125.176:/home/ec2-user/app-deploys"
}
}
}
post {
success {
echo 'Build and Deploy - SUCCESS'
}
}
}
}
}
Командная строка Windows:
C:\Users\Nital>scp
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program] source ... target
Журнал ошибок Jenkins:
[INFO] Installing C:\Program Files (x86)\Jenkins\workspace\helloworld-rest-app-build\pom.xml to C:\Windows\system32\config\systemprofile\.m2\repository\com\example\helloworld-rest-app\0.0.1-SNAPSHOT\helloworld-rest-app-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.991 s
[INFO] Finished at: 2019-01-25T00:11:10-05:00
[INFO] ------------------------------------------------------------------------
[Pipeline] bat
C:\Program Files (x86)\Jenkins\workspace\helloworld-rest-app-build>scp -i C:\Users\Nital\.ssh\LightsailDefaultKey-us-east-1.pem target\hellworld-rest-app.jar ec2-user@35.175.125.176:/home/ec2-user/app-deploys
'scp' is not recognized as an internal or external command,
operable program or batch file.
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE