我正在使用 jib 插件为我的 springboot 应用程序构建 docker 镜像。但是,我想在我的构建文件中添加一个新任务,它将调用不同的构建 jib 任务。
这样做的原因是,根据我在gradle中创建的任务,我想为不同的任务设置不同的JVM值。
使用 gradle jib 插件时的现有实现。
示例:
plugins {
id 'com.google.cloud.tools.jib' version '2.0.0'
}
jib {
container {
creationTime = "USE_CURRENT_TIMESTAMP"
jvmFlags = ['flag a']
}
}
// Extend jib task and set different flags.
jibWithDifferentVMFlags {
container {
creationTime = "USE_CURRENT_TIMESTAMP"
jvmFlags = ['different flags']
}
}
之后,我可以选择使用哪个任务来构建我的图像,例如:
./gradlew jib
or
./gradlew jibWithDifferentVMFlags
目标是有两个选项,默认选项和自定义选项,如上所述。
我不是 gradle 专家,但我们将非常感谢任何帮助,或者欢迎任何不同的方法。谢谢
最佳答案
您可以使用属性来模拟配置文件。
plugins {
id 'com.google.cloud.tools.jib' version '3.1.4'
}
jib {
container {
creationTime = "USE_CURRENT_TIMESTAMP"
jvmFlags = ['flag a']
if (project.hasProperty('foo')) {
jvmFlags = ['different flags']
}
}
}
要进行 FOO 构建:
$ ./gradlew jib -Pfoo
此外,请使用最新的 Jib 3.1.4(截至目前)。
关于gradle - 有没有办法在 gradle.build 文件中扩展或创建不同的 jib 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69124180/