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

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

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

2508 次点击
所在节点    程序员
36 条回复
skyrim61
2022-12-01 13:30:59 +08:00
目前流程是 gitlab 上线发布到每组第一台服务器上, 第一台服务器上 lsyncd 同步到 2 ,3,4,5,6...服务器上,
现在做自动扩缩容, 新增的服务器如果加入到 php 代码同步流程中
skyrim61
2022-12-01 13:31:26 +08:00
如果=如何
ainon
2022-12-01 13:33:08 +08:00
webhook
jobcher
2022-12-01 13:35:00 +08:00
gitlab ci/cd
vZexc0m
2022-12-01 14:50:12 +08:00
可以用阿里云的弹性伸缩服务来管理服务器。然后用脚本统一管理每台服务器的更新流程。或者看看你现有的自动扩缩容的服务支不支持相关的功能。
goodryb
2022-12-01 14:58:19 +08:00
不如服务器启动的时候执行 git pull 拉取下代码, 配置个启动脚本打包到标准镜像中
skyrim61
2022-12-01 15:16:53 +08:00
代码更新十分频繁, 几乎每天会更新发布近百次, 目前使用的 lsyncd 服务同步代码, 实时性和可靠性都还不错, 但是如果要使用自动脚本新增数台服务器, 在第一次部署服务器时, 可以在脚本中自动的去获取一次全量代码, 但之后, 如果代码再更新, 就不好做同步了, 因为需要更新 lsyncd 服务的同步配置文件了.
skyrim61
2022-12-01 15:18:08 +08:00
@vZexc0m 没有采用阿里云的弹性伸缩, 我们自己实现了一个类似的脚本功能.
skyrim61
2022-12-01 15:18:44 +08:00
@goodryb 这个是 docker 镜像的思路, 但是我们项目使用的服务环境, 没有做成镜像呢
vZexc0m
2022-12-01 15:27:10 +08:00
@skyrim61 #8 那就要想办法获取到新增的服务器的 IP 信息,然后进行相应的更新操作。比如在基础镜像上安装好运行环境,然后远程执行 git 命令更新代码,然后重启服务。 还是建议统一用 docker 镜像之内的进行分发好做得多,也更好。
qa2080639
2022-12-01 15:41:16 +08:00
https://github.com/openspug/spug
看下这个是否合适
sun522198558
2022-12-01 16:13:20 +08:00
那就写个定时发现新 ip 就同步一次
Twnysta
2022-12-01 16:31:26 +08:00
服务器很多就 k8s 管理,运行环境一个 docker ,代码在一个 docker 里面,部署的时候挂在一起
pota
2022-12-01 16:42:05 +08:00
之前遇到一个骚操作,所有服务器挂载同一块硬盘。。。
kevin1234
2022-12-01 16:47:06 +08:00
给钱 我来操作
qinrui
2022-12-01 17:45:13 +08:00
每天几百个版本?
chenqh
2022-12-01 18:01:51 +08:00
写个 sftp 同步脚本不就好了吗,php 这种不是最简单吗,又不需要重启 supervisor
wangritian
2022-12-01 18:12:09 +08:00
阿里云 k8s+流水线,面板操作,学一下概念就可以配置使用了
yangyifan
2022-12-01 18:14:46 +08:00
我使用阿里云函数计算的时候也遇到类似问题,解决方案是用 ssd 云磁盘挂载到指定目录,所以更新也只需要更新云磁盘内容就行了。不过后来函数计算有了层的概念。
CnpPt
2022-12-01 20:53:26 +08:00
git 的 webhook 触发 ansible 拉取代码

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

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

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

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

© 2021 V2EX