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

时间:2012-04-21 11:30:28

标签: php html git notepad++

我正在开展一个小型网络项目,我正在努力做到这一点。 我学会了如何使用git / github,这样我就可以在同一个代码上与多个用户一起工作(现在只有我在多台计算机上)。

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

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

我从哪里开始?

4 个答案:

答案 0 :(得分:2)

您的里程和策略可能会因您的工作流程而异。我在下面描述的是在我现在的公司为我们工作,但随时可以尝试并找到适合您的方法。

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

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

如果事情看起来还不错,那么我会在我的本地开发者仓库中使用适用的标记(例如BETA-4v1.8)标记回购中的相关提交并推送标记。然后我将登录到实时服务器,备份数据库,从GitHub拉出主分支,然后使用git checkout检查我刚刚创建的标记。这就是那里的伎俩;如果你签出了一个标签(HEAD除外),那么Git会将repo的状态保持为标签指向的提交之前的文件,直到你签出另一个标签。然后我在实时服务器上运行更新脚本,然后你去。

Git是一个强大的工具,所有试图告诉你它易于使用的人都是蛮横的骗子。如果你是新手,我强烈建议你买一本好书。天啊,我几乎每天都在使用它差不多两年了,而且仍然有时让我感到惊讶。 O'Reilly's book像往常一样体面,我发现SourceTree是一个不错的OS X GUI应用程序(你当然应该学习使用CLI界面,特别是你可以登录到远程服务器并进行拉动和这样通过SSH,但是一个漂亮的GUI可以创建诸如执行提交之类的任务,其中您只需要在回购中提交一些已更改的文件就更加愉快了。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如果您具有服务器的root访问权限,则可以使用svn或git并将当前状态部署到在线项目

答案 3 :(得分:0)

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