首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Subversion:设置远程存储库并在其上运行我的站点?

Subversion:设置远程存储库并在其上运行我的站点?
EN

Stack Overflow用户
提问于 2010-06-02 18:34:45
回答 3查看 1K关注 0票数 1

我是SVN的新手,并且已经在我的Dreamhost测试服务器(具有Subversion“一键安装”功能)上进行了本地试验。

我已经找到了我想要的功能,但在使用它来管理我的工作网站(不是由Dreamhost托管的,所以不提供一键式SVN安装)方面有点迷茫。

我认为我可以在我的网站根目录(包含所有文件)上建立一个存储库,然后当我开发新功能并运行提交时,这将更新我的网站,这是正确的吗?这是处理这类事情的正确工作流程吗?

如果是这样,有没有一种标准的方法可以在我的远程服务器上设置这种东西?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-03 08:59:54

要自动更新网站根目录,请查看使用post-commit hook

提交后挂钩在变更集成功提交到SVN存储库之后运行。因此,您也许可以让post-commit挂钩在网站根目录上触发SVN更新。

票数 2
EN

Stack Overflow用户

发布于 2010-06-03 00:29:40

如果我没理解错的话,您正在尝试使用subversion作为本地开发环境和生产环境之间的中介。您希望在单独的位置开发您的网站,提交更改,然后将这些更改传播到您的生产网站。如果不正确,请回复。

这样的事情当然是可行的。为了使术语正确,在subversion中,您有一个位于subversion服务器上的“存储库”。您永远不会接触存储库本身,除非使用svn客户端间接执行操作。您可以“签出”存储库(或其子集)的多个“工作副本”,以访问源文件本身。为了达到您的要求,您需要在您的开发机器上创建一个工作副本,并在那里进行更改。满意后,您将它们“提交”到您的存储库。在您的生产位置上,您必须创建同一存储库位置的另一个工作副本。您需要在此工作副本中显式运行"svn update“,以便对其应用最新的更改。更改不会在提交时自动传播到所有工作副本。

如果您还没有,您应该花点时间通读一下subversion book。对于subversion和一般的源代码控制原则来说,这是一个非常有价值的资源。

票数 5
EN

Stack Overflow用户

发布于 2010-06-04 02:43:25

前面的两个答案都是很好的信息。但我认为有几个问题值得一提。如果你采用后提交钩子的想法,我建议让脚本变得足够智能,以便只在你明确希望的时候进行部署。让脚本在每次提交时进行部署将是非常严格的,并且会迫使您放弃使用源代码控制的许多优点。

一种想法是在注释中使用关键字触发器,脚本可以使用它来触发部署到生产环境。另一种方法是仅当脚本确定提交到新的标记文件夹时才进行部署。

将生产系统设置为本地工作副本并使用SVN更新不会存在部署可能未准备好部署到生产中的提交的问题,但会受到无法自动执行的问题。要解决这个问题,您可以创建一个在生产系统上定期运行的脚本,该脚本检查存储库的方式与持续集成系统(如Crusie或Team City )非常相似,并定期检查存储库是否有新的提交,然后执行更新。

无论是哪种情况,我都建议您构建足够智能的脚本,以便仅从新的标记文件夹进行部署。这样,您就可以使用源代码管理来实现它所带来的所有优势,并且只有在创建新的标记文件夹时才能进行部署。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2956839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档