springboot之前后端项目一起打包
springboot中前端项目和后端项目一起打包 方案一 复制文件到springboot的resources里的public目录或static目录 node("nodename") { def mvnHome stage('git clone') { git clone 代码 。。。 } stage('clean init') { sh "mkdir -p webapp-api/src/main/resources/public" sh "rm -rf webapp-api/src/main/resources/public" sh "cd webapp-api && ${mvnHome}/bin/mvn clean" } stage('build web vue') { sh "cd webapp-web && rm -rf package-lock.json && cnpm install && cnpm run build" sh "cp -r webapp-web/dist/* webapp-api/src/main/resources/public" } stage('build api image') { sh "cd webapp-api && ${mvnHome}/bin/mvn -Dmaven.test.skip=true -Pdev clean compile package" } stage('build image') { sh "cd webapp-api && ${mvnHome}/bin/mvn docker:build -DpushImage" } stage("rolling update") { sh "cd webapp-api && kubectl -s http://ip:port apply -f target/classes/deploy.yml --record" } stage("deploy svc") { sh "cd webapp-api && kubectl -s http://ip:port apply -f target/classes/svc.yml" } } 方案二 把前端项目打包成jar包,在springboot项目中进行引用 原理 Servlet3.0版本规则,包中的 META-INF/resources文件直接可以被浏览 springboot支持Servlet3.0 1.前端项目结构 src ├─main │ ├─java │ └─resources │ └─META-INF │ └─resources └─test └─java 在src/main/resources/META-INF/resources里放值静态文件 也可以通过npm生成上述目录结构,然后通过maven进行打包成jar包 如添加一个文件 src/main/resources/META-INF/resources/index.html 2.后端项目引用前端项目的jar包 <dependency> <groupId>xx</groupId> <artifactId>xx-xx</artifactId> <version>xx.xx.xxx</version> </dependency>