Gradle clean task with bmuschko/gradle-docker-plugin
我正在尝试创建一个Gradle任务,该任务将运行一个干净的构建,然后从bmuschko / gradle-docker-plugin插件运行一个buildDockerImage任务。我可以在命令行中的单独命令中成功运行clean任务,build任务和buildDockerImage任务,但是当我尝试创建一个同时完成全部三个任务的singe任务时,出现错误:
1 | .../config-server/build/docker/state/DockerBuildImage_Decorated (No such file or directory) |
似乎gradle-docker-plugin试图将某种日志文件添加到/ build / docker / state目录,但是当我在单个任务中运行clean,build和buildDockerImage时,该目录不存在。但是,当我在CLI中将它们作为单独的命令运行时,该目录存在。
这个作品
如果我不尝试清洁...它将正常工作,并创建docker映像:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 } |
我的构建目录如下:
1 2 3 4 5 6 7 8 | /classes /dependency-cache /docker /libs /reports /resources /test-results /tmp |
失败了
但是当我添加对'clean'任务的依赖时... buildDockerImage任务失败,因为它找不到/ build / docker目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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目录):
1 2 3 4 5 6 7 | /classes /dependency-cache /libs /reports /resources /test-results /tmp |
我得到这个错误:
1 2 | 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时,它已修复。
https://github.com/bmuschko/gradle-docker-plugin/issues/168