Jenkins archiveArtifacts 生成 'not found' 错误
Jenkins archiveArtifacts generates 'not found' error
我有非常简单的管道,像这样:
pipeline {
agent any
stages {
stage('Build Automation') {
steps {
sh '''
echo "BUILD NUMBER: ${BUILD_NUMBER}"
cd myproject
mvn clean package
'''
}
}
stage('Prepare artifacts') {
steps {
sh '''
cd myproject/target
ls
archiveArtifacts 'myproject/target/*'
'''
}
}
}
}
Build Automation
步骤成功完成,但我总是收到来自 `archiveArtifacts' 的错误:
[myproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ] Running shell script
+ cd myproject/target
+ ls
classes
generated-sources
generated-test-sources
myapp
myapp.war
maven-archiver
maven-status
test-classes
+ archiveArtifacts myproject/target/*
/var/jenkins_home/workspace/myproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ@tmp/durable-6a43d2f0/script.sh: 5: /var/jenkins_home/workspacemyproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ@tmp/durable-6a43d2f0/script.sh: archiveArtifacts: not found
我添加了 ls
以查看 target
文件夹中是否有任何文件,所以它们在那里,但总是 returns 找不到 archiveArtifacts。我尝试了各种模式,例如 *.war
、**/target/*.war
,但没有成功。
可能出了什么问题?
您需要从 sh 步骤中删除 archiveArtifacts 步骤。现在的方式是 运行 作为 shell 脚本的一部分并被解释为命令。
steps {
sh '''
cd myproject/target
ls
'''
archiveArtifacts 'myproject/target/*'
}
以上应该有效。
我有非常简单的管道,像这样:
pipeline {
agent any
stages {
stage('Build Automation') {
steps {
sh '''
echo "BUILD NUMBER: ${BUILD_NUMBER}"
cd myproject
mvn clean package
'''
}
}
stage('Prepare artifacts') {
steps {
sh '''
cd myproject/target
ls
archiveArtifacts 'myproject/target/*'
'''
}
}
}
}
Build Automation
步骤成功完成,但我总是收到来自 `archiveArtifacts' 的错误:
[myproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ] Running shell script
+ cd myproject/target
+ ls
classes
generated-sources
generated-test-sources
myapp
myapp.war
maven-archiver
maven-status
test-classes
+ archiveArtifacts myproject/target/*
/var/jenkins_home/workspace/myproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ@tmp/durable-6a43d2f0/script.sh: 5: /var/jenkins_home/workspacemyproject-automation_master-FALMJHZX7ZH5GMLQBBOYFJQRFPX4WIHQXBH2YXEQDL4TDAMTRYTQ@tmp/durable-6a43d2f0/script.sh: archiveArtifacts: not found
我添加了 ls
以查看 target
文件夹中是否有任何文件,所以它们在那里,但总是 returns 找不到 archiveArtifacts。我尝试了各种模式,例如 *.war
、**/target/*.war
,但没有成功。
可能出了什么问题?
您需要从 sh 步骤中删除 archiveArtifacts 步骤。现在的方式是 运行 作为 shell 脚本的一部分并被解释为命令。
steps {
sh '''
cd myproject/target
ls
'''
archiveArtifacts 'myproject/target/*'
}
以上应该有效。