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

2019-07-24 16:43:43 +08:00
 DeadLion

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

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

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

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

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


@buliugu docker 方案确实能方便发布,然而公司还没有那么先进用到容器技术。
StarkWhite
2019-07-25 10:31:51 +08:00
请教下个人小项目,部署一套 Jenkins 是否划算呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX