CMS的SCM

时间:2009-04-09 15:02:36

标签: content-management-system joomla version-control

我无法解决在CMS上进行软件配置管理的所有问题(特别是Joomla!)。我正在编写自定义模板,当然还有自定义模块和组件。这些网站和应用程序适用于客户,而非内部。

我想实际版本化网站的配置,而不仅仅是其模板和组件的代码,因为我希望它能够尽快准备好修复或转移给其他人。现在,这意味着存储一个完整的Joomla!为SVN中的每个站点安装,包括已安装的组件和模板版本,以及存储实际的数据库导出。对于组件,我还保留代码的“打包”版本(见下文)。我通常不会为模板而烦恼,因为你可以把它放到Joomla中!安装并且有效。

我正在讨论的这个设置的问题在于自定义组件开发。在Joomla! (以及大多数其他CMS)扩展通常使用Web安装程序进行部署 - 您不能(至少最初)将文件放在某个文件夹中,因为需要更改数据库。 Joomla!安装程序系统通过安装和卸载挂钩提供数据库和文件迁移,因此这是一个非常合理的部署系统。

现在,我要么: 1)直接在已安装的组件上工作,添加和更改文件,然后手动将它们复制到组件的打包版本,或者 2)处理打包的组件并使用安装程序实际查看结果。这个选项通常需要很长时间,但它确实具有保持代码“可释放”的优势,特别是在数据库迁移方面。

在任何一种情况下,更改都会在签入之前复制到文件的两个版本,并且复制对我来说似乎是一种气味。

那么,还有其他人这样做吗?有更好的选择吗?

1 个答案:

答案 0 :(得分:2)

“1 /”应该是“有点”的方式

当你有“包装”这个词时,这意味着你没有版本一,而是两个“组件”(文件集)

  • 一个“开发”组件:非常大,包含您需要的每个文件
  • 一个“distrib”组件:非常小,里面有一些压缩文件。

涉及:

  • 一种自动构建和发布该组件的方法(通过压缩这些文件并存储它们)
  • 一种自动方式来复制该distrib组件(代表打包版本的压缩版本),将其解压缩并与测试或生产平台进行rsynch-it。

这样,您不仅可以“复制”更改,还可以跟踪实际的完整配置:

  • 准备好部署在另一个平台上
  • 或用于rsynch当前部署的包。