首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Joomla中使用源代码管理,同时允许用户继续在生产服务器上进行内容更改?

如何在Joomla中使用源代码管理,同时允许用户继续在生产服务器上进行内容更改?
EN

Stack Overflow用户
提问于 2014-09-15 15:11:48
回答 3查看 789关注 0票数 1

场景:

我的团队为我们的客户管理多个Joomla网站。当我们管理网站的开发/托管时,客户端进行所有的内容更新(创建文章、内容、上传图像等.)

我们在以下标准配置中运行这些网站

  • 开发服务器
  • 暂存服务器
  • 生产服务器

客户端(每天)对生产服务器进行所有内容更新。另外两台服务器主要用于新的开发和测试。

我们目前正在使用,BitBucket作为我们的SVN为这些网站(我们刚刚开始)。目前,所有属于该网站的文件都存储在回购程序中。

问题

根据当前的设置,如果开发人员对dev环境进行更改,然后将更改集推送到生产环境中,我们最终会覆盖客户端在生产环境中所做的所有内容更新。

我的问题

我们如何成功地利用源代码管理系统,并保持灵活性,使客户端能够继续直接在生产服务器上进行更新,而不必强迫他们对dev、暂存和生产进行内容更改?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-15 17:16:37

虽然您简要地描述了您的工作流程,但是有一些事情需要考虑。没有一般规则,但请注意以下建议:

  • 将您开发的扩展(模板、组件、插件等)放到版本控制中。无论如何,定制是您添加到Joomla中的唯一内容。希望没有核心黑客。或者,如果您确实希望对整个安装进行版本化,则至少应该忽略客户机/您更改的媒体文件夹。我认为没有必要将整个Joomla站点置于版本控制之下。
  • 我猜想您的客户端实际上并没有改变PHP脚本,只是改变了媒体文件和数据库条目。您只应推送到生产代码和/或数据库架构更改。
  • 如果您依赖提交推到FTP功能,或者手动推送文件,我建议您考虑构建一个可分发的更改版本,其形式是可以通过扩展管理器部署的包。构建包可以用Phing这样的工具一次点击就可以完成。例如,如果对模板进行了一些更改,创建一个新的模板版本,创建包并首先更新暂存服务器/测试服务器,如果一切顺利,则进行生产。
票数 2
EN

Stack Overflow用户

发布于 2014-09-15 15:46:20

有些事情不应该在版本控制中。

一般来说,源代码应该是版本化的,而数据不应该是版本的。我不熟悉Joomla,但是任何类型的“上传内容”目录都应该位于版本控制系统的忽略文件中。这样,您就可以将更改部署到软件中,而不必担心覆盖数据。

当然,您的数据应该定期备份,但这不是修订控制的目的。

票数 0
EN

Stack Overflow用户

发布于 2014-09-16 06:08:22

如果你有

  • 测试网站更改的临时服务器(布局、新功能、新css)
  • 用户发布新内容的生产服务器。

您需要部分数据库更新以及文件同步。

数据库相当困难,因为资产表可能会受到暂存服务器上的配置更改和生产服务器上的新内容的影响;对于这个表和任何其他共享表,我们通过确保更新后的ids不冲突来解决这个问题。

尽管--引用大多数其他答案--修改控制并不适用于数据或数据库,但它确实非常好,特别是使用了预提交挂钩和后提交挂钩来执行所需的数据库操作;但是,从rsync-rdiff到phing到ant - maven的任何脚本/发布工具都可以。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25851270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档