V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DeadLion
V2EX  ›  Java

请教 jenkins 发布应用到集群的方案

  •  
  •   DeadLion · 2019-07-24 16:43:43 +08:00 · 3846 次点击
    这是一个创建于 1730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前通过 jenkins 来打包,然后将 jar 包传输到服务器上重启服务。
    publish over ssh 插件是可以配置服务器。
    但是机器很多的话就比较麻烦,一个应用可能几十台服务器,几个应用随便就超过百台了。
    现在已进入配置节点的页面都要加载很久了。

    求解有啥好的方案吗?或者插件什么的 我想到的一种是直接用 shell 脚本来传输包,不用插件。但是要将账号密码写到脚本里。

    10 条回复    2019-07-25 10:31:51 +08:00
    rbe
        1
    rbe  
       2019-07-24 17:00:33 +08:00
    试试 Ansible 分发? Jenkins 有 Ansible 的插件
    dreamusername
        2
    dreamusername  
       2019-07-24 17:04:20 +08:00
    一般对于多服务器,最合理的解决方案不是用 Ansible 吗,这里是否可以使用 Ansible Playbook 来解决这个问题。
    lshero
        3
    lshero  
       2019-07-24 17:06:39 +08:00
    其实到最后都是 scp 加 ssh 密钥发布的 Ansible 写个 playbook 吧
    DeadLion
        4
    DeadLion  
    OP
       2019-07-24 17:28:25 +08:00
    @lshero
    @dreamusername
    @rbe
    学习了,感谢。
    asilin
        5
    asilin  
       2019-07-24 18:00:42 +08:00
    这实际上属于 CI/CD 中的 CD - 持续部署。

    jenkisn 本身是为少量工程的 CI (持续集成)设计的,大量工程的 CI 以及 CD 用它并不合适。

    根据业务特性,我们自己实现了一套 CD,并集成到了运维平台中。
    NoKey
        6
    NoKey  
       2019-07-24 18:04:19 +08:00
    publish over ssh 那个插件好用是好用,但是如果服务器一多,页面就会很长
    我们这里服务器不多,采用的是脚本
    使用 Extended Choice Parameter 插件
    几台服务器一组,在脚本里根据不同分组
    一组一组的发
    脚本里去通过 ssh 或者 scp 执行
    这种是最基础最简单的操作了
    不知道有没有高大上的解决方案
    az422
        7
    az422  
       2019-07-24 18:39:47 +08:00 via Android
    Jenkins 发布包到中转机,再触发中转机通过 ansible 分发
    buliugu
        8
    buliugu  
       2019-07-24 23:31:01 +08:00
    jenkins 构建 docker 镜像推到 harbor,然后用 k8s 部署,回滚扩容都非常方便
    DeadLion
        9
    DeadLion  
    OP
       2019-07-25 09:36:19 +08:00
    @asilin 是的,问了下大公司的朋友,都会有自研的分发系统,打包会用 jenkins。


    @buliugu docker 方案确实能方便发布,然而公司还没有那么先进用到容器技术。
    StarkWhite
        10
    StarkWhite  
       2019-07-25 10:31:51 +08:00
    请教下个人小项目,部署一套 Jenkins 是否划算呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5459 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:08 · PVG 11:08 · LAX 20:08 · JFK 23:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.