版本并在共享主机中部署cakephp

时间:2014-02-05 22:54:51

标签: git cakephp deployment mercurial shared-hosting

我将我的cakephp项目部署在共享主机中,但它没有版本化。我想使用git或mercurial对其进行版本化,并轻松部署更改。我需要采取哪些步骤?我应该首先在我的共享主机中安装git并在我的本地环境中进行克隆吗?我应该在共享主机中有一个带repos的单独文件夹,然后使用某个实用程序部署更改吗?

谢谢

3 个答案:

答案 0 :(得分:1)

  1. subversion服务器应该与生产服务器不同。您可以在github上创建一个帐户并将其作为私有项目托管在那里。

  2. 在生产服务器上,当您想要进行更新时(或使用持续集成服务器 - jenkins,teamcity,bamboo等),您只需提取最新的更改

  3. 在本地,您可以将更改推送/拉到同一个subversion服务器。

答案 1 :(得分:1)

许多共享托管站点不允许您在其服务器上拥有shell访问权限,而某些托管站点没有安装git。如果您依赖于直接将更改提取到生产服务器,那么当您被要求在不支持shell / git的服务器上安装时,您必须做一些不同的事情......这很痛苦。

这是一个适合我的解决方案:

  • 阅读git-flow
  • 拥有一个直接镜像开发文件的项目文件夹。这是在开发分支。
  • 拥有一个直接镜像生产文件的项目文件夹。这是主分支。

如果您对开发网站感到满意,请提交并推送您的更改。然后将项目(在IDE中)更改为生产版本。拉动并合并您的更改(但尚未提交)。然后我的IDE允许我只上传已更改的文件,然后我提交。

我意识到这不是许多人采用的解决方案,正如cornelb所说,持续集成服务器可能会简化这一过程。但它对我来说效果很好,只需要FTP访问您部署代码的共享服务器。

答案 2 :(得分:1)

您是否可以在共享主机中安装Git?在大多数情况下,他们不会允许它。

如果是,您可以使用post-receive挂钩检查项目目录中的文件:

GIT_WORK_TREE=/var/www/example.org git checkout -f

或者您可以使用这些工具之一,通过FTP从本地git仓库进行部署。