https://github.com/v5tech/springboot-package-example
spring boot 应用多环境打包部署,增量更新、自动化shell脚本
https://github.com/v5tech/springboot-package-example
Last synced: 5 months ago
JSON representation
spring boot 应用多环境打包部署,增量更新、自动化shell脚本
- Host: GitHub
- URL: https://github.com/v5tech/springboot-package-example
- Owner: v5tech
- Created: 2020-05-18T06:36:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-18T07:21:58.000Z (over 5 years ago)
- Last Synced: 2025-08-16T16:02:09.838Z (5 months ago)
- Language: Shell
- Homepage:
- Size: 5.86 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# springboot-package-example
spring boot 应用多环境打包部署,增量更新、自动化shell脚本
> spring-boot-maven-plugin插件默认构建的可执行 jar 体积比较大。当项目成熟稳定后所有的依赖基本也就不会有变化了。
> 后期迭代维护更新只需要构建出业务相关的代码。然后上传服务器替换相应的 jar 包即可。此方式构建出的 jar 包体积大幅度减小,
> 极大的提高工作效率。同时该方式遵循 spring boot 规范要求,将配置文件外部化放置。可直接修改配置文件重启生效。
工程目录结构
```
springboot-package-example
├── README.md
├── build.sh
├── logs
├── pom.xml
└── src
├── assembly
│ └── assembly.xml
└── main
├── java
│ └── net
│ └── ameizi
│ └── springboot
│ └── pack
│ └── example
│ └── SpringPackageExampleApplication.java
├── resources
│ ├── application-dev.yml
│ ├── application-local.yml
│ ├── application-prod.yml
│ ├── application-test.yml
│ ├── application-uat.yml
│ ├── application.yml
│ ├── mapper
│ ├── static
│ └── templates
└── scripts
└── bootstrap.sh
```
打包构建
```bash
$ springboot-package-example master !1 ./build.sh test # 测试环境
$ springboot-package-example master !1 ./build.sh uat # uat环境
$ springboot-package-example master !1 ./build.sh prod # prod环境
```
最终构建好的文件为 `springboot-package-example-1.0.0-uat.zip`,解压后的目录结构如下所示:
```
drwxr-xr-x amz staff 256 B Mon May 18 14:57:22 2020 .
drwxr-xr-x amz staff 384 B Mon May 18 14:57:55 2020 ..
drwxr-xr-x amz staff 96 B Mon May 18 11:27:02 2020 bin
drwxr-xr-x amz staff 128 B Mon May 18 14:57:18 2020 config
drwxr-xr-x amz staff 1.3 KB Mon May 18 14:57:20 2020 lib
drwxr-xr-x amz staff 96 B Mon May 18 14:09:06 2020 logs
.rw-r--r-- amz staff 1.8 KB Mon May 18 14:57:14 2020 README.md
.rwxr-xr-x amz staff 98.9 KB Mon May 18 14:57:22 2020 springboot-package-example-1.0.0.jar
```
目录结构说明:
| bin | 程序运行脚本 |
| ------------------------------------ | ------------------------------------------------ |
| config | 外部化配置文件 |
| lib | 第三方依赖 |
| logs | 日志存放文件 |
| README.md | 使用说明 |
| springboot-package-example-1.0.0.jar | 目标应用程序。程序有修改时,只需要替换该文件即可 |
启动应用
```bash
$ springboot-package-example-1.0.0 master !1 ./bin/bootstrap.sh start
$ springboot-package-example-1.0.0 master !1 ./bin/bootstrap.sh stop
```
代码有修改时只需要重新打包后替换`springboot-package-example-1.0.0.jar`即可。