开发工作流程、Joomla、GIT
我对您如何设置开发环境有一些疑问。
我正在运行一个当前使用 SOBI2 的网站。 SOBI2 将被我使用 Nooku 框架创建的自定义组件所取代。
到目前为止,我在本地主机上安装了 Joomla。 Nooku 框架和我的自定义组件位于我计算机上各自的目录中,然后符号链接到 Joomla 安装。我这样做是因为在开发时将它们分开是很好的。然后使用 GIT 跟踪我的自定义组件,并在其公共 SVN 存储库中跟踪 Nooku。 我想这是一个非常标准的设置。
所以,现在我想将我的 LIVE Joomla 安装克隆到我的本地主机并使用 GIT 跟踪它,以便能够轻松地将更改推送到我的实时服务器。目前,实时站点根本没有版本控制。
那么,我怎样才能轻松做到这一点呢?
我想最好使用两个 GIT 存储库,一个仅包含我的自定义组件,另一个包含整个站点。 开发自定义组件和站点时,工作流程将类似于以下内容:
- 对自定义组件进行更改并在空 Joomla 安装中进行测试
- 提交更改。
- 将更改从我的自定义组件存储库拉入我的本地站点(通过 GIT 的实时站点的镜像)。
- 确保一切正常。
- 提交更改并将其推送到站点 GIT 存储库。
- 将更改从站点存储库拉取到实时服务器。
我猜数据库更新必须手动处理。
- 这是一种好的工作方式吗?
如何跟踪本地站点内的自定义组件?我听说过 GIT 子模块,这就是它的用途吗?
对于此类内容有什么好的指南吗?
此致 莱纳斯
I have some questions about how you set up your development environment.
I'm running a website that's currently using SOBI2. SOBI2 is going to be replaced by a custom component I'm creating using Nooku Framework.
What I have so far is a Joomla install on my localhost. Nooku Framework and my custom component is in their own directories on my computer and then symlinked to the Joomla installation. I do this because it's nice to have them separated when developing. My custom component is then tracked using GIT and Nooku is tracked in their public SVN repo.
I guess this is a pretty standard setup.
So, now I want to clone my LIVE Joomla installation to my localhost and track it using GIT to be able to push changes easily to my live server. Right now the live site is not version controlled at all.
So, how do I do this easily?
I guess it's best to use two GIT repos, one containing only my custom component and one for the entire site.
The workflow would then be something like this when developing my custom component and site:
- Make changes to custom component and test in empty Joomla install
- Commit changes.
- Pull in changes from my custom component repo to my local site (mirror of the live site through GIT).
- Make sure everything is working.
- Commit and push changes to the sites GIT repo.
- Pull in changes from the sites repo to the live server.
Database updates has to be handled manually I guess.
- Is this a good way of working?
How do I track the custom component inside my local site? I've heard about GIT Submodules, is this what it's used for?
Any good guides out there for this kind of stuff?
Best Regards
Linus
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们按照以下方式执行此操作,但使用 Mercurial 源代码管理工具:
bitbucket(或创建本地)
文件和组件,并确保它们不会被提交
我们开发的插件、模块
所以基本上我们的存储库文件夹中有 Joomla,但它的所有文件都被忽略,并且不会被提交 - 除了我们自己的组件的文件。
然后我们将存储库签出到生产服务器,然后安装 Joomla!那里。 (首先结帐,然后只安装 Joomla)。当我们将存储库签出到生产环境或任何其他位置时,只会签出我们的文件。
对于数据库更改,通常我们有一个 db 文件夹(或任何名称),我们只需添加 SQL 文件以及对数据库进行更改的脚本。您可以使用 mysql -uUser -pPass dbname
这样的命令轻松调用它们。 12.table_name.change_name.sql
We do it in the following way, but using the Mercurial source code management tool:
bitbucket(or create local)
files and components and make sure they will not be committed
plugins, modules that we develop
So basically we have Joomla inside our repository folder, but all its files are ignored, and do not get committed — except for the files of our own components.
Then we check out the repository to the production server, and then install Joomla! there. (First checkout, and then only install Joomla). When we check out the repo to production or any other place, only our files are checked out.
For database changes usually we have a
db
folder (or whatever the name is), and we just add the SQL files with the scripts that make changes to the database. You can easily call them with a command likemysql -uUser -pPass dbname < 12.table_name.change_name.sql