首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动将提交部署到网站?

如何自动将提交部署到网站?
EN

Stack Overflow用户
提问于 2012-02-28 23:05:33
回答 5查看 8.9K关注 0票数 2

出于测试目的,我计划设置一个SVN-server。现在是我的问题。如何将提交的文件自动部署到我的开发/暂存网站的路径?

我已经知道我可以在SVN中使用提交后钩子,但是我该如何配置它呢?

所有提交的文件必须部署在http://dev.staging.mywebsite.com中的路径: /home/www/dev/staging/中

存储库位于: /home/svn/mytestscript/

我该怎么做呢?

EN

回答 5

Stack Overflow用户

发布于 2012-02-29 04:24:09

Nicholas Ding:为部署编写提交后钩子真的是个坏主意。

Aar:你的理由是什么?检查你的网站并不是那么糟糕,你犯了什么错?你的论点是什么?

我不得不同意Nicholas Ding的观点。问题是,当您通过提交后钩子进行部署时,您的开发人员正在等待提交完成。如果您的部署仅需30秒即可完成,那么开发人员将等待您的提交后挂钩完成30秒。

如果开发人员每次提交文件时,都要等待30秒才能完成提交,您认为会发生什么?你认为他们会如何看待Subversion,开发流程,以及作为CM的你?将您的部署作为提交后钩子进行部署并不是一个提升职业生涯的举措。

我建议你看看Jenkins。Jenkins是所谓的持续构建系统。您可以设置Jenkins,这样每次开发人员提交时,Jenkins都会进行构建。这样,您就不会在部署时捆绑Subversion。

好的是Jenkins也可以做你的部署。而且,如果部署失败,它可以向提交的开发人员发送电子邮件。Jenkins甚至可以为你运行一些测试。例如,也许您的部署工作正常,但更改后的代码会导致错误。这可能是很好的检测。而且,您可以将您的可部署工件存储在Jenkins中,以防您想要在部署之前对其进行测试。如果测试工作正常,您可以返回到Jenkins中的构建,单击一个按钮,然后进行部署。

另一个好处是,Jenkins允许开发人员查看所有更改、构建和部署的历史记录。一旦您开始测试,它还可以显示所有测试的历史记录。如果您使用Jira、Bugzilla、MantisBF、Track等问题跟踪系统,Jenkins可以与这些系统集成,帮助您跟踪特定问题被处理的版本。

即使你不需要编译任何东西(假设你的整个网页只有PHP文件和JavaScripts),你可以使用Jenkins进行部署和测试,并且仍然可以看到它的很多好处。

Jenkins是一款非常棒的软件,它可以真正改进您的开发过程,并在不降低Subversion速度的情况下处理您的问题。此外,Jenkins非常易于使用,因此使用Jenkins可能比弄清楚如何在提交后钩子中执行您想要的操作更快。

票数 9
EN

Stack Overflow用户

发布于 2012-04-28 08:09:41

一个解决方案(从2008年开始)是在http://imrannazar.com/Automated-Deployment-with-Subversion,它只在评论包含~~DEPLOY~~的情况下进行部署。虽然这并不能否定@David W.提到的问题,但time delay 将在每次提交时成为部署的威慑。好坏取决于团队和项目!

票数 1
EN

Stack Overflow用户

发布于 2012-02-29 00:00:51

为部署编写提交后钩子真的不是一个好主意。

更好的解决方案是使用Capistrano (Ruby)或Fabric (Python)等工具。

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

https://stackoverflow.com/questions/9484361

复制
相关文章

相似问题

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