【发布时间】:2020-08-09 05:01:10
【问题描述】:
请参阅下面的 Jenkinsfile 和 Dockerfile。我正在尝试构建然后将我的 .war 文件添加到我在 jenkins 中创建的 docker 映像中。但它给了我COPY failed: stat /var/lib/docker/tmp/docker-builder785780968/build/libs/demo.war: no such file or directory 的错误。我独立测试了我的 Dockerfile,它工作正常,但 jenkins 找不到我的战争的位置。我怎样才能指出詹金斯在哪里看?
谢谢。
//Dockerfile
FROM tomcat:jdk8-openjdk
WORKDIR /usr/local/tomcat/webapps
ADD build/libs/demo.war /usr/local/tomcat/webapps/. #Fails here due to location of cant find war
WORKDIR /usr/local/tomcat
ENV CATALINA_OPTS "-Xmx512m -Xms256m"
CMD ["catalina.sh", "run"]
//Jenkinsfile
#!groovy
pipeline{
agent any
stages{
stage('Build'){
steps{
sh "./gradlew --no-daemon build"
}
}
stage('Unit Test'){
steps{
sh "./gradlew --no-daemon test"
}
}
stage('Docker Image'){
agent{
dockerfile true
}
steps{
echo "docker complete"
}
}
}
}
【问题讨论】:
-
war文件是否存在于您指定的
/build/...目录下的同一个slave中?您是否缺少正斜杠/build/libs/demo.war
标签: docker jenkins dockerfile jenkins-pipeline jenkins-groovy