Subversion的Web开发

我已经阅读了很多关于Subversion的文章,并将这些信息推送到一个Web服务器上,但是我仍然遇到困难。

我可以理解有关创build存储库和检出等的基础知识,但是我需要Web服务器部分的帮助。

我正在运行Apache和Subverion正在我正在开发的服务器上运行。

现在,我可以在**htdocs**文件夹中创build我的存储库以及我的实时networking文档,或者在htdocs文件夹之外创build它。

一个网站的多个域:别名或redirect?

使用Apache POI创buildExcel图表

安装Apache Airflow后出错

php文件自动改名为php.suspected

无法启用PHP的LDAP,即使我编辑了php.ini和php_ldap.dll是在正确的地方?

一旦我有了我的存储库,我将新创build的存储库导入到我的活动web文件夹中,该文件夹允许我将文件调用到本地机器上进行编辑,然后将它们提交给开发服务器。

我想首先知道正确的方法,其次,我如何自动将文件从新更新的存储库移到活动的Web文件夹?

请任何build议,我一直在寻找很长一段时间。 谢谢

编辑

有无论如何,你可以帮助我的后提交脚本,我想如果我能得到这个工作,我将能够实现我所需要的。

我希望能够对本地代码进行更改,然后在完成提交时将其发送到存储库,然后自动发送到htdocs文件夹。

如何在Apache FOP中设置默认语言

mod_rewrite $ _GET

是否有可能certificate在PDFBOX文本?

如何在.htaccess文件中限制/禁止访问特定的文件types,例如.js .css?

Ubuntu + SVN:无法打开请求的SVN文件系统

存储库的文件夹结构标准通常由至少一个“trunk”和“branch”文件夹组成。 这是因为Subversion允许你创建一个分支(拷贝中继并允许并发提交),所以你可以使用你的网站的“版本2”。

就个人而言,我不会在htdocs文件夹中创建您的回购,我会做的。 我认为一个好的结构可能是

repo - trunk - htdocs - branch - htdocs

这样你就可以控制htdocs文件夹以外存在的库,这是主要网络系统中常见的功能,可以阻止公众访问私有库。 例如,Smarty采用了这种方法,把一个目录放在htdocs文件夹的上面。

这个堆栈溢出问题的接缝,以涵盖你想要做什么: 我如何使用提交后的挂钩复制提交的文件从SVN的Web目录?

我不确定你想要做什么,但是SVN(源代码管理系统)和持续集成系统(如巡航控制系统或团队城市)之间是分开的。

你可以用apache设置SVN over HTTP,但这与将你的web解决方案部署到一个活动的服务器是不一样的。

SVN中没有任何东西可以自动将解决方案部署到Web服务器上。 这需要使用自动构建和部署方案完成,最好使用CI系统完成。

因此,您可以在每次提交时手动签出对部署文件夹所做的更改,也可以设置一个CI系统将其检出,并在每次提交时运行测试并将其部署到Web服务器。

我已经使用CC.NET和团队城市来做到这一点; 他们都在一些设置工作正常。

我们已经提交了脚本提交脚本,这个提交脚本每次提交时都会将SVN的内容导出到Apache目录。 放置代码的默认位置是我们的开发和测试网站。

通过提交中的可选注释,我们导出到生产服务器。

我发现在TortoiseSVN帮助文件(TSVN-PDF文件)中有很多关于你的问题的很好的文档。 那是我所有问题的起点,以及如何使用SVN设置所有的东西。 即使它是为Windows写的,它也描述了如何用Apache配置SVN等等…

也许你不想每次在你的存储库中检入一些东西时更新你的网站。 为了更新库和实时网站,你可以使用构建脚本(如果你用ASP.NET编写你的网站,也许使用NAnt )。

您需要开始将您的Web服务器和SVN存储库视为两个完全不同的东西。 SVN只不过是存储文件而已,取决于你决定将哪个版本的文件存储在你的网站目录以及什么时间。

最常见的方法是在版本库中保存稳定的版本(称为标签),可选地给这些标签一个版本号,然后确保最新的标签总是被导出并复制到您的网站目录中。 执行回滚到较早版本是非常容易的这种方式。

只是另一个说明…

您可以检出最新版本来更新服务器或进行导出。 如果你签出,你将拥有所有的Web访问目录.svn目录,所以一定要隐藏那些使用适当的方法为您的Web服务器(如.htaccess的Apache)或做一个导出,所以你不到处都有.svn目录。

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...