繁体   English   中英

ASP.NET网站项目,Mercurial / Git,部署 - 一种简单的方法?

[英]ASP.NET Web Site projects, Mercurial/Git, deployment - a simple way?

我们有一个由两名开发人员(PC)和两名设计师(Mac)组成的小团队。 由于我们是一家广告代理商而非代码商店,因此我们不会在软件工具上投入大量资金。 我们以前使用Visual Studio几年前,但现在我们使用Visual Web Developer来创建ASP.NET站点(.NET4支持 - 无法承受新的VS许可证)。 我们将网站创建为网站项目(而不是Web应用程序或MVC),我们在专用开发框(Win 2008 rc2服务器)上运行。

TortoiseHg是我一直在玩的最新版本,考虑到我们的需求,Hg和Git之间的区别是可忽略的。 所以我们可以运行。

我正在尝试做的是找到一种使用免费提供的工具/服务部署站点/提交的相对简单的方法,这些工具/服务与我们使用的技术/软件配合得很好。

如果可以在我们的服务器上设置一次但可以部署到多个位置,我不介意设置解决方案。 我一直在寻找和CI服务器(Jenkins / Hudson),但他们似乎对我们的要求有点过分。 我们是否需要一个50个网页和相关资产的构建服务器?

我尝试了Mercurial HgWebDir安装程序 - Hg / Python版本的潜在问题太多,每个生产服务器的安装时间太长 - 我不得不下载源代码,进行更改并重建它... OTT。 Git似乎最适合SSH,再次,更多第三方的东西。

是否有任何基于Windows的软件,我们可以在生产服务器或中央服务器上安装,这将有助于简单部署(即复制网站目录和回滚的最新更改),这不会花费地球(最好免费)并且不会依靠获得正确版本的这个和那个正常工作。

让我们假设您已经为您的.NET托管选择了AppHarbor

他们为您提供了一个GIT存储库,您可以在其中获得源代码,每次push送到appharbor他们将自动构建您的解决方案并使其在线可用。

考虑到这一点,您可以拥有一个branch作为您的生产和其他一切帮助,并用于托管源代码和帮助文件。

如果您选择仅为您提供FTP上传功能的托管公司,您可以使用自动脚本从您的提交中发布数据(使用webhooks,您可以轻松触发将接收更改的Web脚本(或整个仓库) )并在网上发布)。

无论哪种方式都很好,它总是取决于你,你们有什么愿意尝试,并继续尝试替代方案,直到所有人都对结果感到满意为止。

有了这个,你可以简单地使用Visual StudioTortoise GIT ,甚至可以在Visual Studio中安装GIT Extension,不再使用软件......

在Visual Studio中使用Git

如果为您部署站点是“将文件从A复制到B”(没有相关的构建过程),您可以尝试至少两种方法,都假设在“其他”端存在工作的http-server

  1. 从存储库导出到无版本树,完全清理网站空间,将新文件复制到网站
    • 此解决方案的轻型版本:导出仅受changeset-range文件影响并复制旧版本
  2. 站点空间是工作副本的一部分(我更喜欢在web-root之外看到repo),更新工作副本(从somerepo中提取 )更新站点上的文件

只有VCS + FTP | SCP |? 客户使用

您是否考虑过使用WebMatrix进行开发? 它有助于简化您描述的小型网站的流程。

CI对小项目仍然有用,特别是如果您使用单元测试。 在小团队中使用Hudson

您应该能够使用git部署到您的服务器并轻松回滚。 您可以在服务器上创建一个裸git存储库,然后使用post-receive git hook自动部署更改。 因此,当您从本地存储库将更改推送到源时,将更新网站。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM