想通过 jenkins 部署 jar 包到应用服务器,网上查了一下,要使用 publish over ssh
但如果是多台应用服务器的话,每一台都要配置一个 ssh 凭证,而且每次建立 jenkins job 都要手动选择凭证。
有没有什么其它的方法来避免以上重复性的劳动?
求大佬指点一二
但如果是多台应用服务器的话,每一台都要配置一个 ssh 凭证,而且每次建立 jenkins job 都要手动选择凭证。
有没有什么其它的方法来避免以上重复性的劳动?
求大佬指点一二

1 calmzhu Nov 9, 2020 1. 用 ssh key 免密码 2. 机器特别多就用 saltstack/ansible 之类配置管理工具。jenkins-->制品库-->jenkins 调用配置管理 api-->配置管理工具执行部署 3. jenkinspipline lib.封装一下库。在所有 job 调用,甚至可以所有 job 用同一个 jenkinsfile 。 4. 以上 123 看心情随意组合。 |
2 xabc Nov 10, 2020 via Android 第一步 需要建设通道系统 必然 salt ansible 这步自动完成,新机器默认打通,这是一切批量运维的前提 |
3 ltttx Nov 10, 2020 一般情况下有一个类似跳板机系统,这个系统可以 ssh 登录到所有的节点上,salt 和 ansible 原理类似。同理,把 pub key 配置到 jenkins 后,使用 credentials id 即可了。 不过,这种还依赖于 ssh copy 的方式部署实在有点落后,可以尝试尝试 k8s 之类。 |
4 wupher Nov 10, 2020 使用 ssh 隧道把 jar 传输至跳板机固定目录。 使用 rsync 在多个部署节点间同步 jar 。 通过 ssh 命令开关 Tomcat / Docker 容器服务。 以上步骤可以通过 asible / Jenkins 封装成自助服务,这样开发人员就可以自助部署、更新。 |
5 huangmingyou Nov 10, 2020 做成发行版的包格式,用私有包仓库发布 |
6 asanelder OP |