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>

 

posted @ 2023-04-04 15:20  liuxm-刘小明  阅读(520)  评论(0编辑  收藏  举报