RT 现在碰到的需求是, 新增的服务器, 自动的同步 php 项目代码
1
skyrim61 OP 目前流程是 gitlab 上线发布到每组第一台服务器上, 第一台服务器上 lsyncd 同步到 2 ,3,4,5,6...服务器上,
现在做自动扩缩容, 新增的服务器如果加入到 php 代码同步流程中 |
2
skyrim61 OP 如果=如何
|
3
mihuan12 67 天前
webhook
|
![]() |
4
jobcher 67 天前
gitlab ci/cd
|
![]() |
5
vZexc0m 67 天前
可以用阿里云的弹性伸缩服务来管理服务器。然后用脚本统一管理每台服务器的更新流程。或者看看你现有的自动扩缩容的服务支不支持相关的功能。
|
![]() |
6
goodryb 67 天前
不如服务器启动的时候执行 git pull 拉取下代码, 配置个启动脚本打包到标准镜像中
|
7
skyrim61 OP 代码更新十分频繁, 几乎每天会更新发布近百次, 目前使用的 lsyncd 服务同步代码, 实时性和可靠性都还不错, 但是如果要使用自动脚本新增数台服务器, 在第一次部署服务器时, 可以在脚本中自动的去获取一次全量代码, 但之后, 如果代码再更新, 就不好做同步了, 因为需要更新 lsyncd 服务的同步配置文件了.
|
![]() |
10
vZexc0m 67 天前
@skyrim61 #8 那就要想办法获取到新增的服务器的 IP 信息,然后进行相应的更新操作。比如在基础镜像上安装好运行环境,然后远程执行 git 命令更新代码,然后重启服务。 还是建议统一用 docker 镜像之内的进行分发好做得多,也更好。
|
11
qa2080639 67 天前
https://github.com/openspug/spug
看下这个是否合适 |
12
sun522198558 67 天前
那就写个定时发现新 ip 就同步一次
|
![]() |
13
Twnysta 67 天前
服务器很多就 k8s 管理,运行环境一个 docker ,代码在一个 docker 里面,部署的时候挂在一起
|
![]() |
14
pota 67 天前
之前遇到一个骚操作,所有服务器挂载同一块硬盘。。。
|
15
kevin1234 67 天前
给钱 我来操作
|
![]() |
16
qinrui 67 天前 via iPhone
每天几百个版本?
|
17
chenqh 67 天前
写个 sftp 同步脚本不就好了吗,php 这种不是最简单吗,又不需要重启 supervisor
|
18
wangritian 66 天前
阿里云 k8s+流水线,面板操作,学一下概念就可以配置使用了
|
19
yangyifan 66 天前 via Android
我使用阿里云函数计算的时候也遇到类似问题,解决方案是用 ssd 云磁盘挂载到指定目录,所以更新也只需要更新云磁盘内容就行了。不过后来函数计算有了层的概念。
|
20
CnpPt 66 天前 via Android
git 的 webhook 触发 ansible 拉取代码
|
![]() |
21
shanghai1998 66 天前
最稳的还是 docker ,弱弱的问下 php 用的什么框架?现在测试好多非 swoole 、workerman 框架吃数据库链接
|
![]() |
23
ywisax 66 天前
每次更新后做镜像,然后新机器用新作的镜像。
最后,你要的其实是 k8s 。 |
25
skyrim61 OP @pota 我之前也是这么想的, 把项目代码目录放到 nas 文件存储中, 然后将 nas 挂载到每个 ecs 服务器下, 但是 io 性能是不行的, 服务器数量少, 可能没多大问题, 数量多就不行了, 也咨询了阿里云的人, 说最好不要将代码项目文件放 nas 中
|
26
skyrim61 OP @qinrui 没有几百个版本, 就是开发人员经常需要修改线上的代码, 更新代码比较频繁, 比如增加日志埋点, 小公司, 开发都是把线上作为测试环境的, 你懂的.
|
27
skyrim61 OP @shanghai1998 我们的 php 框架是架构写的一个自定义框架
|
30
skyrim61 OP @vZexc0m 是的, 我目前的思路也是类似的, 获取到新增的服务器 ip 地址, 然后在 gitlab 上发布时, 多发布几台, 但是这个也涉及到 同步的先后顺序, 同步完第一台后, 再同步第二台, 第三台... 可能会导致线上某个时间段内, 代码不一致的情况.
当前使用的是 gitlab 同步到第一台, 然后第一台使用 lsyncd 同步到其它台, 实时性有保证的(我猜的) |
33
undefine2020 66 天前
gitlab 的 ci/cd
|
![]() |
34
X3en 66 天前
直接 nfs 挂载
|