spring boot 项目打可运行 jar 包,发布到生产环境,使用 java -jar 方式启动,被世界上最好的语言出身的技术经理说太 low 了
没有任何感情色彩的提问,那么 high 的启动方式什么?
ps:发布脚本和目标服务器不绑定,因此没有使用系统服务的方式
![]() | 1 BCy66drFCvk1Ou87 2019-07-29 17:17:27 +08:00 docker |
2 lihongjie0209 2019-07-29 17:19:06 +08:00 systemd 托管或者是 screen/tmux 运行 |
![]() | 3 LeeSeoung 2019-07-29 17:19:39 +08:00 jenkins+docker 自动化构建部署= =有能力再搞下 k8s 弹性伸缩。。 |
![]() | 4 EastLord 2019-07-29 17:20:29 +08:00 run as a service |
![]() | 5 realpg PRO 最次也得 systemd service 啊 |
6 2kCS5c0b0ITXE5k2 2019-07-29 17:22:21 +08:00 难道不 low 吗? 又在暗示 php... |
7 airfling 2019-07-29 17:24:00 +08:00 我是打包成 war,反正也可以 java-jar 启动,也可以部署到 was 或者其他 web 服务器做集群,也可以用 docker 构建镜像启动 |
8 dreamusername 2019-07-29 17:24:56 +08:00 ![]() 我的思路是: 1、注册为 systemd service,可以用 systemctl 启、停,以及开机启动 2、打包为 docker 文件,使用 docker 进行管理 这两种对 jar 包不会有任何内部的修改。 |
![]() | 9 banmuyutian 2019-07-29 17:25:06 +08:00 gitlab+jenkins+docker 触发构建,我司目前是这样。。 |
10 wfd0807 OP @HuasLeung @lihongjie0209 @LeeSeoung 感谢大佬们关注,无论是容器化,还是系统服务托管或者会话保持,运行方式始终是 java -jar 这个技术经理说“我问过外网,java -jar 的方式太 low 了” 我都开始怀疑人生了,难道 jar 包还有别的运行方式? ps:裸执行 jar 包是我们测试环境的启动方式,是运维照搬到了生产环境的 |
![]() | 11 AngryPanda 2019-07-29 17:29:58 +08:00 的确蛮 low 的 |
![]() | 12 hahaayaoyaoyao 2019-07-29 17:32:20 +08:00 via Android @AngryPanda 来个高级的 |
![]() | docker docker 内部还是 java -jar 不需要那么多骚操作 |
![]() | 15 huangmingyou 2019-07-29 17:33:10 +08:00 docker+k8s 或者 rpm ,deb 包管理方式用系统方式管理进程. 至于说 java -jar low ,那很多买 10 多万的商业软件也这么执行的. |
![]() | 16 EastLord 2019-07-29 17:35:56 +08:00 spring boot 官方文档 专门有一章讲 部署应用程序 |
![]() | 17 cubecube 2019-07-29 17:38:00 +08:00 via Android 请问程序执行,怎么才能不 low?靠意念启动 |
18 wfd0807 OP 为什么不能 APPEND ? |
19 lihongjie0209 2019-07-29 17:40:53 +08:00 @wfd0807 #10 没有别的运行方式, 哪怕你用 docker, 内部也是 java -jar 执行的, 只是封装了一下而已. 你可以问一下你的领导他有什么不 low 的解决方案, 我们也长长见识 |
![]() | 20 tmac6740 2019-07-29 17:41:12 +08:00 via iPhone 发布项目方式也有了鄙视链 |
21 Michaelssss 2019-07-29 17:41:22 +08:00 问题的核心是怎么解决 low 吧,很简单,替换 class 升级~拍黄片的标准做法 |
22 wfd0807 OP 感谢各位关注和肯定 我现在单方面认为是对方表达不清楚,应该是说“裸运行程序,没有使用进程管理方式不好” |
![]() | 23 palmers 2019-07-29 17:42:48 +08:00 不用在意他说的 如果指出了实际存在的问题 可以继续讨论 否则直接忽视就行了, 把时间浪费在无意义的事情上 |
![]() | 24 Trim21 2019-07-29 17:47:21 +08:00 via Android 对方大概是觉得你们直接敲命令启动服务器太 low … |
![]() | 26 Aresxue 2019-07-29 17:58:38 +08:00 持续集成 Jenkins、容器虚拟化 Docker,docker 都上了 k8s 来一套 |
![]() | 27 weishu 2019-07-29 18:21:08 +08:00 用 systemd / supervisor / pm2,这样你的服务挂了之后会帮你自动重启 |
![]() | 28 ourslay 2019-07-29 18:26:00 +08:00 https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html 官方文档附上。 不过还是觉得 docker 简单 |
29 nnnToTnnn 2019-07-30 16:59:44 +08:00 e......mmmmm 一般都是上 ci 的,然后走流水线,这个要看你们运维了。。。 |