6

我对您如何设置开发环境有一些疑问。

我正在运行一个当前使用 SOBI2 的网站。SOBI2 将被我使用 Nooku 框架创建的自定义组件所取代。

到目前为止,我在本地主机上安装了 Joomla。Nooku 框架和我的自定义组件在我的计算机上它们自己的目录中,然后符号链接到 Joomla 安装。我这样做是因为在开发时将它们分开很好。然后使用 GIT 跟踪我的自定义组件,并在其公共 SVN 存储库中跟踪 Nooku。我想这是一个非常标准的设置。

所以,现在我想将我的 LIVE Joomla 安装克隆到我的本地主机并使用 GIT 跟踪它,以便能够轻松地将更改推送到我的实时服务器。现在,实时站点根本不受版本控制。

那么,我如何轻松做到这一点?

我想最好使用两个 GIT 存储库,一个只包含我的自定义组件,一个用于整个站点。在开发我的自定义组件和站点时,工作流程将是这样的:

  1. 更改自定义组件并在空的 Joomla 安装中进行测试
  2. 提交更改。
  3. 将更改从我的自定义组件仓库拉入我的本地站点(通过 GIT 镜像实时站点)。
  4. 确保一切正常。
  5. 提交并将更改推送到站点 GIT 存储库。
  6. 将站点 repo 中的更改拉入实时服务器。

我猜数据库更新必须手动处理。

  • 这是一种好的工作方式吗?
  • 如何跟踪本地站点内的自定义组件?我听说过 GIT 子模块,这是它的用途吗?

  • 这种东西有什么好的指南吗?

最好的问候莱纳斯

4

1 回答 1

3

我们通过以下方式进行操作,但使用Mercurial 源代码管理工具

  • 从 bitbucket 签出空存储库(或创建本地)
  • 安装Joomla!进入那个文件夹
  • 将所有核心 joomla 文件和组件添加到 .hgignore 并确保它们不会被提交
  • 仅将我们开发的组件、插件、模块添加到存储库

所以基本上我们的存储库文件夹中有 Joomla,但它的所有文件都被忽略,并且不会被提交——除了我们自己的组件的文件。

然后我们将存储库签出到生产服务器,然后安装 Joomla!那里。(首先结帐,然后只安装 Joomla)。当我们将 repo 签出到生产环境或任何其他地方时,只会签出我们的文件。

对于数据库更改,通常我们有一个db文件夹(或任何名称),我们只需添加 SQL 文件以及对数据库进行更改的脚本。您可以使用以下命令轻松调用它们mysql -uUser -pPass dbname < 12.table_name.change_name.sql

于 2011-06-30T08:20:36.500 回答