2

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

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

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

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

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

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

4

1 回答 1

2

“1/”应该是“一种”要走的路

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

  • 一个“开发”组件:非常大,包含您需要的每个文件
  • 一个“分发”组件:非常小,其中包含一些压缩文件。

它涉及:

  • 一种自动构建和版本化分发组件的方法(通过压缩这些文件并存储它们)
  • 一种自动复制该分发组件(代表您的打包版本的压缩版本)、解压缩它并使用测试或生产平台进行 rsynch-it 的方法。

这样,您就不会简单地“复制”更改,而是跟踪实际的完整配置:

  • 准备部署在另一个平台上
  • 或用于 rsynch 当前部署的包。
于 2009-04-09T15:46:13.487 回答