V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wfd0807
V2EX  ›  程序员

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

  •  
  •   wfd0807 · Jul 29, 2019 · 7579 views
    This topic created in 2468 days ago, the information mentioned may be changed or developed.

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

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

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

    Supplement 1  ·  Jul 29, 2019
    (又可以 APPEND 了,奇怪)

    感谢各位关注和肯定
    我现在单方面认为是对方表达不清楚,应该是说“裸运行程序,没有使用进程管理方式不好”
    29 replies    2019-07-30 16:59:44 +08:00
    BCy66drFCvk1Ou87
        1
    BCy66drFCvk1Ou87  
       Jul 29, 2019
    docker
    lihongjie0209
        2
    lihongjie0209  
       Jul 29, 2019
    systemd 托管或者是 screen/tmux 运行
    LeeSeoung
        3
    LeeSeoung  
       Jul 29, 2019
    jenkins+docker 自动化构建部署= =有能力再搞下 k8s 弹性伸缩。。
    EastLord
        4
    EastLord  
       Jul 29, 2019
    run as a service
    realpg
        5
    realpg  
    PRO
       Jul 29, 2019
    最次也得 systemd service 啊
    2kCS5c0b0ITXE5k2
        6
    2kCS5c0b0ITXE5k2  
       Jul 29, 2019
    难道不 low 吗? 又在暗示 php...
    airfling
        7
    airfling  
       Jul 29, 2019
    我是打包成 war,反正也可以 java-jar 启动,也可以部署到 was 或者其他 web 服务器做集群,也可以用 docker 构建镜像启动
    dreamusername
        8
    dreamusername  
       Jul 29, 2019   ❤️ 1
    我的思路是:
    1、注册为 systemd service,可以用 systemctl 启、停,以及开机启动
    2、打包为 docker 文件,使用 docker 进行管理
    这两种对 jar 包不会有任何内部的修改。
    banmuyutian
        9
    banmuyutian  
       Jul 29, 2019
    gitlab+jenkins+docker 触发构建,我司目前是这样。。
    wfd0807
        10
    wfd0807  
    OP
       Jul 29, 2019
    @HuasLeung
    @lihongjie0209
    @LeeSeoung
    感谢大佬们关注,无论是容器化,还是系统服务托管或者会话保持,运行方式始终是 java -jar
    这个技术经理说“我问过外网,java -jar 的方式太 low 了”
    我都开始怀疑人生了,难道 jar 包还有别的运行方式?

    ps:裸执行 jar 包是我们测试环境的启动方式,是运维照搬到了生产环境的
    AngryPanda
        11
    AngryPanda  
       Jul 29, 2019
    的确蛮 low 的
    hahaayaoyaoyao
        12
    hahaayaoyaoyao  
       Jul 29, 2019 via Android
    @AngryPanda 来个高级的
    pipixia
        13
    pipixia  
       Jul 29, 2019 via Android
    @wfd0807 springboot 官方示例就这种做法 官方也 low 了🐴
    gz911122
        14
    gz911122  
       Jul 29, 2019
    docker

    docker 内部还是 java -jar

    不需要那么多骚操作
    huangmingyou
        15
    huangmingyou  
       Jul 29, 2019
    docker+k8s
    或者 rpm ,deb 包管理方式用系统方式管理进程.
    至于说 java -jar low ,那很多买 10 多万的商业软件也这么执行的.
    EastLord
        16
    EastLord  
       Jul 29, 2019
    spring boot 官方文档 专门有一章讲 部署应用程序
    cubecube
        17
    cubecube  
       Jul 29, 2019 via Android
    请问程序执行,怎么才能不 low?靠意念启动
    wfd0807
        18
    wfd0807  
    OP
       Jul 29, 2019
    为什么不能 APPEND ?
    lihongjie0209
        19
    lihongjie0209  
       Jul 29, 2019
    @wfd0807 #10 没有别的运行方式, 哪怕你用 docker, 内部也是 java -jar 执行的, 只是封装了一下而已. 你可以问一下你的领导他有什么不 low 的解决方案, 我们也长长见识
    tmac6740
        20
    tmac6740  
       Jul 29, 2019 via iPhone
    发布项目方式也有了鄙视链
    Michaelssss
        21
    Michaelssss  
       Jul 29, 2019
    问题的核心是怎么解决 low 吧,很简单,替换 class 升级~拍黄片的标准做法
    wfd0807
        22
    wfd0807  
    OP
       Jul 29, 2019
    感谢各位关注和肯定
    我现在单方面认为是对方表达不清楚,应该是说“裸运行程序,没有使用进程管理方式不好”
    palmers
        23
    palmers  
       Jul 29, 2019
    不用在意他说的 如果指出了实际存在的问题 可以继续讨论 否则直接忽视就行了, 把时间浪费在无意义的事情上
    Trim21
        24
    Trim21  
       Jul 29, 2019 via Android
    对方大概是觉得你们直接敲命令启动服务器太 low …
    wfd0807
        25
    wfd0807  
    OP
       Jul 29, 2019
    @Trim21 那是运维的事情
    Aresxue
        26
    Aresxue  
       Jul 29, 2019
    持续集成 Jenkins、容器虚拟化 Docker,docker 都上了 k8s 来一套
    weishu
        27
    weishu  
       Jul 29, 2019
    用 systemd / supervisor / pm2,这样你的服务挂了之后会帮你自动重启
    ourslay
        28
    ourslay  
       Jul 29, 2019
    nnnToTnnn
        29
    nnnToTnnn  
       Jul 30, 2019
    e......mmmmm 一般都是上 ci 的,然后走流水线,这个要看你们运维了。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1356 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 16:40 · PVG 00:40 · LAX 09:40 · JFK 12:40
    ♥ Do have faith in what you're doing.