创建网站存储库的最佳做法是什么?存储库是否存在,并且不需要从存储库中移动文件?或者您是否需要将文件从服务器存储库移动到Web服务器?
答案 0 :(得分:5)
从不,曾对抗实时服务器文件。
始终从本地副本检入和退出源代码管理,并准备部署包以上载到您的服务器。
答案 1 :(得分:1)
Randolpho当然是正确的,你不想反对实时服务器文件。
你有一个源控制系统,这样做的目的是让你可以跟踪谁改变了什么,所以如果你需要你可以改变它,并知道谁会大吼大叫搞砸它。
您有网络服务器来提供您的内容。
您有一个部署过程,即从Web服务器上安装源代码控制的内容。理想情况下,这不是手动过程。理想情况下,您希望在此处实现的是,当您要部署到Web服务器时,在命令行上键入几个单词并
1)内容从源代码控制中提取
2)验证内容是否全部存在并且将按照您的预期进行
3)将内容移动到Web服务器,重新启动需要重新启动的任何内容
4)进行测试以确保Web服务器已启动,并且其所服务的内容是您希望它所服务的内容。
自动化是一件很棒的事情。
答案 2 :(得分:0)
在此之后,您可以在webroot中简单地“提交”以提交更改。
答案 3 :(得分:0)
您的网络服务器可以提供来自Subversion结帐的网页,主要是使用svn作为部署工具。
首先像往常一样设置Subversion存储库。只是通常的公共存储库布局至少包含trunk和标签。您可能已经拥有现有存储库。进行开发并检查您的网站代码。为第一个版本创建标记。
然后在Web服务器上,查看相应版本的副本。例如,cd /path/to/web/root/folder && svn co path_to_repository/tags/1.0 .
假设您更新了自己的网站并检查了更改。当更新准备好上线时,再次为其创建标记。在Web服务器上,通过执行以下操作切换到新版本cd /path/to/web/root/folder && svn sw path_to_repository/tags/1.1
请注意,这当然会使用.svn
目录丢弃您的Web根目录。这可能是也可能不是问题,具体取决于您正在部署的内容。对于我的网站来说,这绝不是问题(我确保它们通过.htaccess得到保护)。
我们的想法是您在开发机器上进行开发,并且只有在新标签准备就绪并且您已准备好将Web服务器切换到新版本后才登录到Web服务器。