2010-06-08 61 views
12

我们是一家网页设计公司,正在着手建立修订管理系统,以及围绕我们如何使用它的所有流程等。我们正在考虑使用git修订版管理系统。与Joomla一起使用GIT

我们主要在Joomla!内容管理系统(CMS)上开发我们的网站。我想知道其他公司在处理CMS时如何管理其存储库。我们主要处理模板构建,并且偶尔定制我们安装的组件或插件。

我的主要问题是:

  • 是存储在库中的所有文件(包括Joomla的文件)的最佳方法,或者只是文件,您拨打或改变自己?
  • 你是否保留了数据库(Joomla用于其操作和内容存储)的副本,以解决数据库更改?
+1

因为那是Joomla使用的SCM,所以使用SVN可能更容易。我相信有一种方法可以将外部存储库选项添加到自己的目录中,所以基本上Joomla存储库将会是外部的,并且会在Joomla更新其源代码时引发更新,然后您只需担心自己的代码。然而,它显然(总是)比这更复杂一点,所以我确信后面的人可以给你更好的提示。祝你好运! – 2010-06-08 01:44:58

回答

4

对于第一个问题,通常大多数小组都会检查与项目相关的所有文件(日志和临时文件除外)。如果您确实想要存储数据库,请存储数据库的转储(而不是二进制文件)。您应该确保同时包含数据和模式。

1

我们与您处于类似的情况 - Joomla网站的设计机构。

我们使用Subversion,每个网站作为存储库。当我们开始一个项目时,我们下载最新版本的Joomla并将其放入SVN中。然后,我们将该网站从SVN检出到本地计算机上,并在需要时进行检查。

5

本文由Joe LeBlanc是我关于修订的Joomla控制!: http://joomlaablog.blogspot.it/2010/11/how-to-track-your-joomla-project-with.html

有你可以用 的Joomla采用了使用Git两种通用战略中的几件事情之一:要么跟踪整个Joomla安装或追踪 特定扩展。跟踪Joomla本身的主要阻碍因素是Git的 是Joomla代码库的庞大规模。虽然Git合理地是 很快,但如果您要添加单个模板或模块,那么跟踪整个Joomla安装 仍然可能是矫枉过正。

另一方面,将所有内容放入Git可以让 确定何时将修补程序应用于Joomla网站。当您尝试将问题追踪到特定的修补程序时,这可能是 有帮助。 此外,如果您要创建大量设计为 的扩展程序,您可能别无选择,只能将整个站点 置于版本控制之下。

如果您正在使用一个扩展程序,并且您知道它是唯一一个将成为项目一部分的 ,跟踪 单个目录可能更有优势。 只有一个前端组件,只有后端 组件,模块或模板都是跟踪 与Joomla安装分开跟踪的候选项。以这种方式跟踪插件 是很困难的,因为插件.php文件并排放置在共享文件夹中的 。以这种方式跟踪完整的组件 也存在问题,因为后端的更改可能会影响前端的 行为。

2

如果您决定第一个选项(跟踪整个joomla),您必须.gitignore所有内核,每次添加一个外部扩展。否则,当有人安装扩展并提交扩展时,这将是一场噩梦。然后你必须在拉后发现它,有时它不起作用。 Joomla版本的变化也很难管理。

我主张不同的存储库适用于不同的扩展,但我仍然在寻找一种方法来为整个组件(admin + front + install)提供一个repo。任何想法(可能是子模块或子树mergin)?

9

我知道这个问题已经得到了一个公认的答案,但也许有人会回到这个,并找到它的用处。

  • 我想跟踪整个joomla并试图排除核心文件几乎是不可能的,因为@vicgilbcn说它可能会变成一场噩梦。
  • 另一方面,如果您正在为J开发组件!这“不幸”是slipt在“组件/ com_mycomp”,“管理员/组件/ com_mycomp”大概“媒体/ com_mycomp”你应该有3个独立的git回购协议来跟踪它 - 所以这要么是不可行的。

所以我想出了,似乎工作得很好,是这样的: 假设我有一个正常的J!在我的com_mycomp组件内部进行部署。

  • 我在joomla代码库之外创建一个文件夹并将其称为“COMMON”。在
  • “共用”我创造“COMMON /的Joomla”一“的Joomla”文件夹
  • 我创建“myComp”文件夹,将持有我在“COMMON /的Joomla/myComp”我用组件
  • 的整个代码库Joomla的文件夹结构和我MOVE(未复制) '分量/ com_mycomp', '管理员/组件/ com_mycomp' 和里面 '的媒体/ com_mycomp'。
  • 然后我回到我从中删除文件夹的位置,并创建符号链接到新位置。

这种方式现在可以在COMMON/joomla/myComp中创建一个git仓库。

很显然,这个环境应该是一个本地开发环境,您可以在这里调整apache/php配置,而不会产生安全隐患,以使其工作。 (我不记得如果我真的不得不做这个工作的任何特殊配置的修改 - 如果不检查日志...)

由于事实上,这个解决方案确实解决了另一个问题。通过这种方式工作,您可以将组件的代码库文件夹符号链接到两个不同的Joomla部署(例如J!2.5.x和J3.x.x),并且能够立即针对不同版本开发/检查组件兼容性。

+0

不错的答案! '在“COMMON/joomla/myComp”我使用Joomla文件夹结构“,这是否意味着完整的joomla结构或只是这三个文件夹:组件,管理员和媒体?谢谢 – 2017-04-15 09:09:13