生产环境发布 SpringBoot 项目的正确方式是什么?

2019-07-29 17:07:46 +08:00
 wfd0807

spring boot 项目打可运行 jar 包,发布到生产环境,使用 java -jar 方式启动,被世界上最好的语言出身的技术经理说太 low 了

没有任何感情色彩的提问,那么 high 的启动方式什么?

ps:发布脚本和目标服务器不绑定,因此没有使用系统服务的方式

6585 次点击
所在节点    程序员
29 条回复
HuasLeung
2019-07-29 17:17:27 +08:00
docker
lihongjie0209
2019-07-29 17:19:06 +08:00
systemd 托管或者是 screen/tmux 运行
LeeSeoung
2019-07-29 17:19:39 +08:00
jenkins+docker 自动化构建部署= =有能力再搞下 k8s 弹性伸缩。。
EastLord
2019-07-29 17:20:29 +08:00
run as a service
realpg
2019-07-29 17:21:28 +08:00
最次也得 systemd service 啊
emeab
2019-07-29 17:22:21 +08:00
难道不 low 吗? 又在暗示 php...
airfling
2019-07-29 17:24:00 +08:00
我是打包成 war,反正也可以 java-jar 启动,也可以部署到 was 或者其他 web 服务器做集群,也可以用 docker 构建镜像启动
dreamusername
2019-07-29 17:24:56 +08:00
我的思路是:
1、注册为 systemd service,可以用 systemctl 启、停,以及开机启动
2、打包为 docker 文件,使用 docker 进行管理
这两种对 jar 包不会有任何内部的修改。
banmuyutian
2019-07-29 17:25:06 +08:00
gitlab+jenkins+docker 触发构建,我司目前是这样。。
wfd0807
2019-07-29 17:27:36 +08:00
@HuasLeung
@lihongjie0209
@LeeSeoung
感谢大佬们关注,无论是容器化,还是系统服务托管或者会话保持,运行方式始终是 java -jar
这个技术经理说“我问过外网,java -jar 的方式太 low 了”
我都开始怀疑人生了,难道 jar 包还有别的运行方式?

ps:裸执行 jar 包是我们测试环境的启动方式,是运维照搬到了生产环境的
AngryPanda
2019-07-29 17:29:58 +08:00
的确蛮 low 的
hahaayaoyaoyao
2019-07-29 17:32:20 +08:00
@AngryPanda 来个高级的
pipixia
2019-07-29 17:32:51 +08:00
@wfd0807 springboot 官方示例就这种做法 官方也 low 了🐴
gz911122
2019-07-29 17:33:07 +08:00
docker

docker 内部还是 java -jar

不需要那么多骚操作
huangmingyou
2019-07-29 17:33:10 +08:00
docker+k8s
或者 rpm ,deb 包管理方式用系统方式管理进程.
至于说 java -jar low ,那很多买 10 多万的商业软件也这么执行的.
EastLord
2019-07-29 17:35:56 +08:00
spring boot 官方文档 专门有一章讲 部署应用程序
cubecube
2019-07-29 17:38:00 +08:00
请问程序执行,怎么才能不 low?靠意念启动
wfd0807
2019-07-29 17:38:00 +08:00
为什么不能 APPEND ?
lihongjie0209
2019-07-29 17:40:53 +08:00
@wfd0807 #10 没有别的运行方式, 哪怕你用 docker, 内部也是 java -jar 执行的, 只是封装了一下而已. 你可以问一下你的领导他有什么不 low 的解决方案, 我们也长长见识
tmac6740
2019-07-29 17:41:12 +08:00
发布项目方式也有了鄙视链

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/587234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX