一、前言
要新建一个SpringBoot项目,少不了要在yml中对dev环境、生产环境的各类中间件进行配置,并且有一些如全局异常捕获之类的代码少不了要花一阵功夫复制黏贴
而对于一个通过gitlab集成了ci/cd,部署在k8s上的应用来说,还需要为每个新建的项目编写.gitlab-cli.yml 以及k8s的部署脚本,比如笔者部门就是每个项目都要包含这些东西,以下是部分截图
image.png
pom.xml
image.png
有较多的重复性的复制粘贴批量修改工作,这样就很让人烦躁了,虽说大家都是CRUD工程师,但是能偷懒的话还是想尽量偷点懒的
二、正文
因为无论是yml配置,还是.gitlab-ci.yml 还是 kubernetes的部署yml,其实几乎都是只和artifactId有关联的模板代码,自己手动复制粘贴替换的其实也就是这些内容
笔者在研究了一阵子各类模板引擎以后,发现模板引擎通常只能够生成项目代码文件,而非整个项目本身,后来发现Maven的项目骨架比较能满足需求,就自己动手尝试了
2.1 通过Maven自定义骨架实现项目初始化
1. 创建一个SpringBoot Maven骨架
首先创建一个Maven项目,可以通过maven骨架 maven-archetype-webapp 生成一个简单的项目
配置项目根目录下pom.xml,这个是骨架的maven定义
xsi:schemaLocation=