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

请教运维大佬: jenkins 部署 jar 包到应用服务器的问题

  •  
  •   asanelder · 2020-11-09 23:04:52 +08:00 · 2227 次点击
    这是一个创建于 1473 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想通过 jenkins 部署 jar 包到应用服务器,网上查了一下,要使用 publish over ssh
    但如果是多台应用服务器的话,每一台都要配置一个 ssh 凭证,而且每次建立 jenkins job 都要手动选择凭证。

    有没有什么其它的方法来避免以上重复性的劳动?

    求大佬指点一二
    7 条回复    2020-11-10 16:42:09 +08:00
    calmzhu
        1
    calmzhu  
       2020-11-09 23:28:59 +08:00
    1. 用 ssh key 免密码
    2. 机器特别多就用 saltstack/ansible 之类配置管理工具。jenkins-->制品库-->jenkins 调用配置管理 api-->配置管理工具执行部署
    3. jenkinspipline lib.封装一下库。在所有 job 调用,甚至可以所有 job 用同一个 jenkinsfile 。

    4. 以上 123 看心情随意组合。
    xabc
        2
    xabc  
       2020-11-10 08:41:59 +08:00 via Android
    第一步 需要建设通道系统
    必然 salt ansible 这步自动完成,新机器默认打通,这是一切批量运维的前提
    ltttx
        3
    ltttx  
       2020-11-10 08:56:13 +08:00
    一般情况下有一个类似跳板机系统,这个系统可以 ssh 登录到所有的节点上,salt 和 ansible 原理类似。同理,把 pub key 配置到 jenkins 后,使用 credentials id 即可了。

    不过,这种还依赖于 ssh copy 的方式部署实在有点落后,可以尝试尝试 k8s 之类。
    wupher
        4
    wupher  
       2020-11-10 09:06:41 +08:00
    使用 ssh 隧道把 jar 传输至跳板机固定目录。

    使用 rsync 在多个部署节点间同步 jar 。

    通过 ssh 命令开关 Tomcat / Docker 容器服务。

    以上步骤可以通过 asible / Jenkins 封装成自助服务,这样开发人员就可以自助部署、更新。
    huangmingyou
        5
    huangmingyou  
       2020-11-10 13:10:11 +08:00
    做成发行版的包格式,用私有包仓库发布
    asanelder
        6
    asanelder  
    OP
       2020-11-10 16:38:31 +08:00
    @calmzhu #1
    @xabc #2
    @ltttx #3
    @wupher #4

    感谢提供思路,小团队,之前没有这方面经验,俺在大厂干时不需要考虑这些问题。。。

    看来又有的学了
    asanelder
        7
    asanelder  
    OP
       2020-11-10 16:42:09 +08:00
    @calmzhu #1
    @xabc #2
    @ltttx #3
    @wupher #4

    主要是之前在大厂从申请机器到 CI/CD,什么 pipeline,jenkins,ssh 之类的都不用操心,项目直接写个 deploy 文件,部署时直接选择机器就 OK 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1075 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:01 · PVG 03:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.