|
|
1
10
卡西——显然,要想让源代码管理完全井然有序,还有很长的路要走,但听起来你已经上路了! 拥有一个单独的沙盒肯定会对事情有所帮助。接下来,确保网站始终只是从Subversion中清除特定修订、标记或分支的一个干净的签出。 我们使用Git,但我们有类似的设置。我们用一个版本号标记一个特定的版本(在Git中,我们还可以在标签中添加描述;这对于发行说明很好!)然后我们有一个脚本,任何有权访问“做一个发布”的人都可以运行它,这个脚本需要两个参数——哪个系统将被更新(数据中心,如果我们要更新测试或生产服务器),然后是版本号(标记)。 该脚本使用sudo,然后在共享帐户中运行发布脚本。它检查相关版本,最小化javascript和css 1 ,将代码推送到环境的相关服务器,然后重新启动需要重新启动的内容。发布脚本的最后一行连接到一个WebServer,并跟踪错误日志。 论 our websites 我们在每个页面的底部添加了一个HTML注释,其中包含当前服务器名称和版本,这使得我们很容易看到“现在运行的是什么?” 一 还有其他一些家务活… |
|
|
2
2
如果单个项目对共享代码库进行了巨大的更改,那么您应该考虑为它们(在同一代码库上)使用分支和合并。 我们通常有一个本地开发环境用于测试(也就是说,webserver本地)未限制的代码(您根本不想提交不起作用的代码),但开发环境甚至可以使用共享文件夹在单独的服务器上。 但是,在将提交的代码投入生产之前,应该将它部署到临时服务器上进行测试。 |
|
|
3
1
你也许可以用Capistrano,尽管它更适合Ruby articles 描述如何将其用于PHP 我认为phing可以与cvs一起使用,但不能与svn一起使用(至少是我上次读到的内容) 还有一些项目是模仿Capistrano的,但是用PHP编写的。 否则,还有一个定制的解决方案:
|
|
|
4
1
自然退房 SVN 对于存储库, Trac 跟踪事情,以及 Apache Ant 部署。 基本过程是在Subversion中管理,跟踪Trac中的Repositroy和开发人员,并使用Ant部署脚本将站点推出所需的设置。Ant允许您轻松地将项目部署到特定位置。(开发/测试/生产)等 |
|
|
5
0
你需要看看:
你可能得不到一个完美的解决方案,尤其是一开始,但你使用你选择的解决方案越多,每个人都会变得越舒服,并且能够提出改进的建议。 |
|
|
7
0
我给了一个 similar answer 昨天又问了一个问题。基本上,您可以在分支中工作,并在上线前集成。 你要做的最重要的事情就是要处理好 变化 到文件,而不是单个文件。一旦你有了分支,就没有一个真正的当前版本,只有版本中有不同的更改。 |