hxdm, PHP 项目代码怎么实时部署许多台 ecs 服务器上呢?

2022-12-01 13:28:43 +08:00
 skyrim61

RT 现在碰到的需求是, 新增的服务器, 自动的同步 php 项目代码

2705 次点击
所在节点    程序员
36 条回复
C603H6r18Q1mSP9N
2022-12-01 21:06:21 +08:00
最稳的还是 docker ,弱弱的问下 php 用的什么框架?现在测试好多非 swoole 、workerman 框架吃数据库链接
bjzhush
2022-12-01 22:39:31 +08:00
@pota 两三台还行,几十上百的 IO 要死的
ywisax
2022-12-01 23:36:40 +08:00
每次更新后做镜像,然后新机器用新作的镜像。
最后,你要的其实是 k8s 。
pota
2022-12-02 08:54:07 +08:00
@bjzhush #22 所以我说遇到的骚操作。。。不知道那个运维怎么想的
skyrim61
2022-12-02 09:56:37 +08:00
@pota 我之前也是这么想的, 把项目代码目录放到 nas 文件存储中, 然后将 nas 挂载到每个 ecs 服务器下, 但是 io 性能是不行的, 服务器数量少, 可能没多大问题, 数量多就不行了, 也咨询了阿里云的人, 说最好不要将代码项目文件放 nas 中
skyrim61
2022-12-02 09:57:30 +08:00
@qinrui 没有几百个版本, 就是开发人员经常需要修改线上的代码, 更新代码比较频繁, 比如增加日志埋点, 小公司, 开发都是把线上作为测试环境的, 你懂的.
skyrim61
2022-12-02 09:58:23 +08:00
@shanghai1998 我们的 php 框架是架构写的一个自定义框架
skyrim61
2022-12-02 09:59:10 +08:00
@CnpPt gitlab 的 server hook 用过, 但是 webhook 没怎么接触过, 我们也用不到 ansible....
skyrim61
2022-12-02 10:00:01 +08:00
@ywisax k8s 没有找到特别好的 lnmp 符合我们情况的样例.
skyrim61
2022-12-02 10:03:10 +08:00
@vZexc0m 是的, 我目前的思路也是类似的, 获取到新增的服务器 ip 地址, 然后在 gitlab 上发布时, 多发布几台, 但是这个也涉及到 同步的先后顺序, 同步完第一台后, 再同步第二台, 第三台... 可能会导致线上某个时间段内, 代码不一致的情况.
当前使用的是 gitlab 同步到第一台, 然后第一台使用 lsyncd 同步到其它台, 实时性有保证的(我猜的)
skyrim61
2022-12-02 10:04:16 +08:00
@ywisax 我们上线的频繁程度, 简直发指, 10 分钟能上线 10 次的那种....
skyrim61
2022-12-02 10:08:06 +08:00
@chenqh 亲, 有样例吗?
undefine2020
2022-12-02 10:32:44 +08:00
gitlab 的 ci/cd
X3en
2022-12-02 11:02:56 +08:00
直接 nfs 挂载
chenqh
2022-12-02 12:11:56 +08:00
@skyrim61 这种没有哦,而且这种也解决不了时间先后的问题
ywisax
2022-12-02 13:57:21 +08:00
@skyrim61 10 分钟 10 次,就应该用 k8s 啊。跑通一次 CI/CD ,下面的事情就容易了

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

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

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

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

© 2021 V2EX