应用上K8S第二步:Gradle 打包

时间:2023-01-30 16:08:08

需求

对于spring boot项目我们一般使用Maven或Gradle进行编译打包,也可以借助docker plugin进行镜像打包并push到远程仓库。因此在经过《应用上K8S第一步:Dockerfile参数化构建技巧》一文,我们已经确定了Dockerfile,那么应用上K8S第二步:gradle打包就可以开始了。

现在我们就来介绍下gradle打包,大家感兴趣的话也可以和maven打包对比下,并进一步掌握这两种方式。

gradle docker plugin

1.

「1.官方标准接入项目」

应用上K8S第二步:Gradle 打包

「2.自定义接入」

应用上K8S第二步:Gradle 打包

我们将应用名、JVM参数作为环境变量单独提取出来,用于docker参数化构建;也在后续在K8S中以configmap或env的形式进行参数传递。

注意:ARG只在Dockerfile中生效,且在docker build阶段生效。

「3.编译打包」

应用上K8S第二步:Gradle 打包

总结

相对于Maven打包过程,Gradle打包的配置更简单,但是其官网文档对gradle docker plugin的描述过于简单,导致某些更细节的配置摸索起来比较麻烦。

另,经过以上过程,我们需要对镜像打包过程定义一些规范,例如:

应用名不能够用大写;

镜像名及tag以应用名+版本号进行定义;

JVM参数根据实际情况需进一步拆分,以便后续通过环境变量进行参数化构建;

其他应用运行依赖的配置、数据等目录,需进一步定义;