Docker 如果子项目包含文件,则执行梯度任务
我有一个多模块的项目。其中一些是共享的lib,还有一些生成docker容器。我想使用一个插件为所有在模块根目录中包含Dockerfile的模块构建图像 这是我的项目结构:Docker 如果子项目包含文件,则执行梯度任务,docker,gradle,Docker,Gradle,我有一个多模块的项目。其中一些是共享的lib,还有一些生成docker容器。我想使用一个插件为所有在模块根目录中包含Dockerfile的模块构建图像 这是我的项目结构: root/ ├─ docker1/ │ ├─ Dockerfile ├─ docker2/ │ ├─ Dockerfile ├─ common/ build.gradle 如果可能的话,我不想更改模块中的任何内容,只执行一个任务。这样就可以添加更多生成图像的模块,而无需在每个模块中添加任何内容并保持构建文件干净。我已通过
root/
├─ docker1/
│ ├─ Dockerfile
├─ docker2/
│ ├─ Dockerfile
├─ common/
build.gradle
如果可能的话,我不想更改模块中的任何内容,只执行一个任务。这样就可以添加更多生成图像的模块,而无需在每个模块中添加任何内容并保持构建文件干净。我已通过添加以下每个模块生成文件成功创建了一个映像,该文件应生成一个映像:
plugins {
id 'com.palantir.docker' version '0.25.0'
}
docker {
def image = String.format("myRepo:$tag")
copySpec.from("$buildDir/libs").into("build/libs")
name image
printf "Built image %s", image
}
docker.dependsOn shadowJar
我这样称呼它:
$ ./gradlew :docker1:docker -Ptag=test
Built image myRepo:test
是否有可能满足上述要求?如果不是,那么在包含名为docker的任务的所有模块中,以何种方式按名称执行任务是合适的
这将失败,因为我的根项目没有该任务:
$ ./gradlew :docker
Task 'docker' not found in root project 'root'.