TOOLNAVIA / 选购指南

Cloudways Flexible Git:拉取或恢复后,哪些文件会保留?

先看结论

Cloudways Flexible的Git集成可以把仓库代码部署到应用。第一次部署之外,恢复行为也值得同样关注:解除关联会保留应用文件,备份恢复后再次拉取,又可能重新更新已恢复代码。选择这项功能时,应先写清发布规则,而不能默认Git管理站点的所有部分。

选购速览

适合谁
文件责任明确,并演练过恢复的团队代码发布。
收费方式
核对所选Flexible基础设施及附加项;发布工具可能另有成本。
先看限制
解除Git关联会保留应用文件;再次拉取可能重新更新已恢复代码。

明确哪些文件归Git管理

Flexible指南要求仓库支持SSH,并允许选择分支和部署路径。目标文件夹内、源仓库没有的既有文件会保留;反过来,已经受仓库跟踪、后来经SFTP修改的文件,可能在下次拉取时被覆盖。部署日志提供历史记录。

对买家而言,保留有两面:它可能留下仓库之外的运行文件,也可能留下团队以为新版本会删除的旧文件。应定义目标目录预期内容,以及明确审查过的清理规则;不能默认部署后目录就是完全干净的仓库副本。

![Git操作后,哪些内容会保留?](/static/article-images/cloudways-flexible-git-untracked-files-restore-redeploy-1-zh-cn.svg)

解除关联,不等于撤销发布

Cloudways说明,解除Git集成删除的是关联配置,不是应用文件或文件夹,也不改变源仓库。FAQ还提醒,恢复后再次拉取,会把已恢复文件更新为仓库当前版本。

这些操作用途不同:解除关联停止使用一项集成,文件恢复改变已部署副本,之后的发布又会再次改变它。恢复期间应确认已知正常的代码版本,并暂停另外配置的部署触发器,直至团队批准下一次发布。

文件回退也需要相容的配置和业务数据。失败版本若已改变数据库结构,旧代码未必还能工作。应记录改动是否向后兼容,以及如何保留新订单等实时写入。[暂存数据库指南](/zh-cn/hosting/cloudways-flexible-staging-database-live-orders)另外说明替换范围和新订单问题。

依赖解析应单独审查

Cloudways的Laravel教程把Composer操作放在克隆之后,示范composer update。Composer上游则区分它与安装现有锁文件:update重新解析版本并改变锁文件,install使用其中已经记录的版本。

已有审查通过锁文件的应用,应安排可重复安装,而不是在生产部署时悄悄重新解析依赖。提供商入门教程的update例子,不是所有项目的统一发布规则。这是流程区别,不表示Cloudways不能运行合适命令。

应指定构建产物、环境配置、应用专用迁移及验收检查的负责人。仓库文件传输成功通知,不能证明上述工作均已完成。准确顺序取决于应用,本文不提供直接复制到生产环境的shell脚本。

![文件传输,只是发布一步](/static/article-images/cloudways-flexible-git-untracked-files-restore-redeploy-2-zh-cn.svg)

Git操作后,哪些内容会保留?
Cloudways Flexible区分这些行为

原子发布是另外维护的一套系统

Cloudways另有进阶示例,采用版本发布目录、共享持久文件及current符号链接,也涉及GitHub Actions和服务器设置。这是操作人员另行实现的架构,不能证明原生Git按钮自动提供原子发布或一键回退。

代码与配置需要按真实应用路径、权限及持久数据要求审查。本文不复制该脚本,也不承诺服务完全不中断。即使切换代码目录很快,数据库兼容、后台工作进程、缓存及执行中的请求,仍需发布安排。

文档中的简单Git路线符合项目文件行为时,可以采用;只有有人能够维护并演练时,才增加发布系统。没有恢复负责人的复杂架构图,不能减少运维责任。

![原生Git与另加发布系统](/static/article-images/cloudways-flexible-git-untracked-files-restore-redeploy-3-zh-cn.svg)

文件传输,只是发布一步
应用其余流程应指定负责人

比较各家实际承诺的部署行为

Kinsta说明可通过SSH拉取仓库,并与原生git push部署入口区分;Hostinger当前PHP/HTML指南则通过OAuth关联受支持GitHub或GitLab账户,自动重新部署选定分支,Node.js另走独立流程。这些是不同部署约定,操作不能直接互换。

SiteGround较早的Git工具文章区分已安装Git客户端与GoGeek及以上的可视界面。应重新确认当前权益,不能把旧功能说明当作每个套餐的购买报价。

WordPress.com明确区分简单文件复制与可以自定义构建步骤的进阶流程;其工作流还要求选定分支受支持的push触发,并建议生产环境采用受控手动部署。这个比较帮助提出购买问题:什么是内置动作,什么需要人员负责,究竟由什么触发?这些界面和规则不属于Cloudways功能。

升级主机前,先演练下一次发布

在受控副本中,由获授权人员发布包含无害识别改动的已审查版本,加入可丢弃、未受跟踪的标记文件,确认实际目标目录行为。随后演练恢复和下一次计划发布,每次核对代码版本、预期文件及一项普通应用操作,并明确保留业务数据。

![演练恢复,也演练下一次发布](/static/article-images/cloudways-flexible-git-untracked-files-restore-redeploy-4-zh-cn.svg)

预算应包括所选Flexible云厂商/服务器、当前持续收费、适用附加项,以及另外使用的构建或部署工具。保留多个发布副本也占资源。官方价格页是准确配置的核对起点,本文不提供固定账单。

文档所列文件流程和团队发布责任适配时,可以考虑Flexible。缺口若是受控构建或经过测试的回退,更大服务器本身不会补齐。确认流程后,再[查看Cloudways Flexible当前选项](https://www.cloudways.com/en/?id=2214307)。合资格购买可能为Toolnavia带来佣金。本文没有操作主机发布、创建密钥、恢复或购买。

原生Git与另加发布系统
尚未实现的架构,不能默认具备
演练恢复,也演练下一次发布
本文没有操作主机发布或恢复