将项目部署到网络的正确方法是什么

问题描述:

我正在开发一个小型Web项目,我正在努力做到这一点。 我学会了如何使用git/github,这样我就可以在同一个代码上使用多个用户(现在只有我在多台计算机上)。将项目部署到网络的正确方法是什么

我的问题是 - 什么是正确的方式上传文件到网络?

我可以通过file-zilla复制粘贴整个文件夹,但这似乎不是正确的方法。有没有办法通过git部署最新版本? GitHub的?记事本++(我工作)或aptana?

从哪里开始?

+1

http://*.com/questions/160608/how-to-do-a-git-export-like-svn-export#answer-163769 – PeeHaa 2012-04-21 11:33:28

+1

没有绝对“正确的方式”;只有最适合你和你的项目的方式。工作的正确工具(通常也是工具用户)。 – liquorvicar 2012-04-21 11:42:27

那里有专业的部署工具。如果您不使用ruby on rails进行开发,您还需要railsless-deploy,那么最好的一个是capistrano

使用这样的系统,您可以轻松地将您的应用程序从git存储库部署到任何您有权访问的服务器。它requries一点配置的,但你会得到它...

如果你有,你可以使用SVN或Git和部署当前状态到您的在线项目的服务器的根访问

+0

我该怎么用git来做这件事? – Alon 2012-04-21 12:09:32

你可以有一个请看html5boilerplate构建脚本http://html5boilerplate.com/docs/Build-script/。它做了很多事情,但这是对您的问题的宝贵答案。

根据您的工作流程,您的行驶里程和策略可能会有所不同。我在下面描述的是在我现在的公司为我们工作,但随时可以尝试并找到适合您的东西。

在我们的Git回购中,我们有一个“主”分支。所有新的开发以及主要错误修复都发生在“主”分支之外的分支中。当他们准备好时,他们将融入主人。这里的想法是,没有未完成的功能或故意错误的代码永远在主(理论上...)。

当我们想要制作一个新的“发布” - 我们网站上新版本的代码 - 我联系其他开发人员,并确保他们正在处理的应该完成的内容已被合并到主控和推到GitHub回购。我将确保我的本地副本副本是最新的,通过将主副本中的更改合并到本地回购,运行任何必需的数据库更新脚本,然后在本地进行测试。如果有事需要解决,我会自己解决或要求负责任的开发人员修复它。如果事情看起来不错,那么我将登录到我们的登台服务器(实际上是在我们的实时服务器上,但使用单独的数据库和非公开访问的URL),将代码从GitHub仓库中提取到仓库中,更新数据库,并在那里再次测试。这样,现场服务器上可能发生但在本地开发服务器上没有发生的任何错误都可以被捕获。

如果事情还是很好看,然后我会在标签回购的相关承诺与适用的标签,如BETA-4v1.8,在我的本地开发回购和推标签。然后我将登录到活动服务器,备份数据库,从GitHub中拉出主分支,然后使用git checkout检出刚刚创建的标签。那是那里的伎俩;如果您签出了一个标签(除HEAD之外),那么Git会将标签所指向的提交的文件的状态保持为文件的状态,直到您签出另一个标签为止。然后我在运行的服务器上运行更新脚本,然后你就可以开始了。

Git是一个功能强大的工具,所有试图告诉你它易于使用的人都是彻头彻尾的骗子。如果你是新手,我强烈建议你阅读一本好书。地狱,我几乎每天都在使用它近两年,而它仍然有时令我感到惊讶。 O'Reilly's book像往常一样体面,我发现SourceTree是一个很好的OS X GUI应用程序(当然,你应该学习使用CLI界面,特别是你可以登录到远程服务器,并通过SSH进行拉等操作,但是一个不错的GUI可以做任务,比如做一个提交,在这个提交中你只需要在回购库中提交一些更改过的文件就会更愉快)。