我正在尝试创建一个 Gradle 任务,该任务将运行干净的构建,然后从 bmuschko/gradle-docker-plugin 插件运行 buildDockerImage 任务。我可以在命令行中的单独命令中成功运行 clean 任务、build 任务和 buildDockerImage 任务,但是当我尝试创建一个执行所有三个任务的单个任务时,我收到错误:
.../config-server/build/docker/state/DockerBuildImage_Decorated (No such file or directory)
看起来 gradle-docker-plugin 正在尝试将某种日志文件添加到/build/docker/state 目录,但当我在单个任务中运行 clean、build 和 buildDockerImage 时,该目录不存在。但是,当我在 CLI 中将这些命令作为单独的命令运行时,该目录是存在的。
<小时/>这有效
如果我不尝试清理...它会正常工作并创建 docker 镜像:
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
task buildDockerImage(type: DockerBuildImage) {
doFirst {
copy {
from 'src/main/resources/docker/Dockerfile'
into 'build/libs'
}
}
inputDir = project.file('build/libs')
tag = alexFabian + "/" + jar.baseName
}
task myBuildDockerImage(type: Task, dependsOn: ['build' ,'buildDockerImage']) {
buildDockerImage.mustRunAfter build
}
我的构建目录如下所示:
/classes
/dependency-cache
/docker
/libs
/reports
/resources
/test-results
/tmp
<小时/>
失败
但是当我添加对“clean”任务的依赖项时... buildDockerImage 任务失败,因为它找不到/build/docker 目录
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
task buildDockerImage(type: DockerBuildImage) {
doFirst {
copy {
from 'src/main/resources/docker/Dockerfile'
into 'build/libs'
}
}
inputDir = project.file('build/libs')
tag = afabian + "/" + jar.baseName
}
task myBuildDockerImage(type: Task, dependsOn: ['clean', 'build' ,'buildDockerImage']) {
build.mustRunAfter clean
buildDockerImage.mustRunAfter build
}
现在我的 build/目录看起来像这样(缺少/docker 目录):
/classes
/dependency-cache
/libs
/reports
/resources
/test-results
/tmp
我收到此错误:
Execution failed for task ':buildDockerImage'.
> .../config-server/build/docker/state/DockerBuildImage_Decorated (No such file or directory)
我过去使用过 Maven,但刚接触 Gradle,所以我目前的理解是有限的。
- 使用 gradle(包装器):2.11
- 使用 gradle-docker-plugin:com.bmuschko:gradle-docker-plugin:2.6.6
感谢任何帮助!
最佳答案
这是 bmuschko 插件早期版本中的一个错误。 尝试使用新版本。我在旧版本('com.bmuschko:gradle-docker-plugin:2.6.6')中遇到了同样的问题,但是当我升级到版本: com.bmuschko:gradle-docker-plugin:2.6.8 时,它已修复。
关于java - 使用 bmuschko/gradle-docker-plugin 进行 Gradle 清理任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897210/