Deployment 自动将.Net Web App部署到Azure&;sqlazure&;天蓝色斑点 果壳:

Deployment 自动将.Net Web App部署到Azure&;sqlazure&;天蓝色斑点 果壳:,deployment,tfs,msbuild,azure,azure-sql-database,Deployment,Tfs,Msbuild,Azure,Azure Sql Database,我需要一些帮助/信息/资源,例如为我的Web应用程序设置团队构建、MsBuild、TFS 2010自动部署到Azure(包括所有数据库位)。 理想情况下,我希望有一个可以从VS2010团队资源管理器UI“队列新构建”启动的流程,然后密切关注其进度,让我可以从事其他工作。深入研究任何问题的日志记录的选项,并知道我的流程是健壮、完整和完全非手动的,即: 备份我的所有实时数据(SQL Azure) 蓝色斑点) 部署任何数据库架构更改(包含在我的数据库项目中) 将任何数据更改部署到我的核心数据(例如配

我需要一些帮助/信息/资源,例如为我的Web应用程序设置团队构建、MsBuild、TFS 2010自动部署到Azure(包括所有数据库位)。

理想情况下,我希望有一个可以从VS2010团队资源管理器UI“队列新构建”启动的流程,然后密切关注其进度,让我可以从事其他工作。深入研究任何问题的日志记录的选项,并知道我的流程是健壮、完整和完全非手动的,即:

  • 备份我的所有实时数据(SQL Azure) 蓝色斑点)
  • 部署任何数据库架构更改(包含在我的数据库项目中)
  • 将任何数据更改部署到我的核心数据(例如配置数据等,我在部署后脚本中有这些数据)
  • 明智地做事(例如,对部署包使用压缩以节省时间和带宽)
  • 覆盖我愚蠢的背面(例如,无缝回滚失败的更改)
  • 在部署(失败或成功)期间保持应用程序100%运行,例如会话保持不变,将数据丢失的可能性降至最低
  • 保留每个阶段的详细流程进展日志,以解决任何问题
  • 保持一切都应该是源代码控制好。。。源控制
背景/梦想/目标: 在我的上一份FT工作中,我们为托管的Web应用程序进行了非常出色的自动部署设置,使用CC.Net(管理流程)、CCTray和CC.Net Web UI进行监视和控制、代码生成(用于数据访问和实体的CodeSmith+NetTiers模板)、MSBuild、VS数据库项目、一些.bat脚本、,还有一些方便的实用程序,如PsExec等,可以帮助您解决一些小问题。 我没有设置它,但是有一些管理它、处理问题等的经验

这(98%的时间)是一次很好的部署体验。您可以确保TFS是最新的,双击CCtray,右键单击一个项目,然后单击“强制构建”,坐下来观看绿色=>黄色=>绿色

太好了

当前情况: 我运行自己的Micro ISV,我的主要项目是Azure上的一个应用程序(测试版)。 我非常想复制我以前的部署经验-我甚至正在考虑从Azure迁移到专用服务器-因为我知道我可以在那里设置自动部署系统

我的主要停站点是DB位,看起来像是一场噩梦。也许我错过了一些很好的免费工具或库来完成这项工作,我真的希望如此,但我也真的可以与有经验的人一起为我指明正确的方向,找到一个“最佳实践”解决方案,把所有的小部分都整齐地包起来

我搜索过谷歌,读了又读,花了好几个小时,但我似乎发现atm是半个解决方案,不太适合我的项目和需求,基于我负担不起的昂贵工具(接近0美元预算),或者是我头脑简单,有点难以理解和可怕

现在我不是系统管理员,但只要有足够的时间,我就可以大致确定我需要为这类事情做些什么

然而,我现在没有时间,我整个项目的成功真正取决于我是否能够减少我目前忍受的40分钟以上的手动部署浪费

我希望能够得到一些用户反馈,找到一个bug,或者编写一个改进代码,然后自信地启动一个部署并使用其他东西进行破解

Azure在当前状态下的开发(与专用服务器相反)的额外问题,以及MS目前相当差的工具支持(我知道有很多改进,但我现在需要一些东西)-让我在“我不知道”和“我不确定”的海洋中游弋并往往以一个大的结尾:

“我放弃了+手动部署近一个小时+内心有点抽泣,因为我部署天堂的梦想再次破灭”:(

但我知道那些比我更精通、知识渊博、经验丰富的人已经自己破解了这个问题。我只是似乎找不到我确信存在的信息

因此,如果有人对此有一些好的资源、提示、链接、评论或意见,我很乐意听到

我的设置的详细信息: 应用程序启动并在Azure中运行(该应用程序处于测试阶段-部分原因是没有自动部署设置),在生产插槽中运行,我没有为登台插槽而烦恼,因为子域/DNS/自动生成的Url的一些问题使这看起来很痛苦/不可行

Azure/App:

应用程序是

1个Web角色

  • ASP.NET 4
  • MVC2
  • EF 4
  • SQLAzure
  • Azure Blob存储
1工作者角色-此角色运行一些计划任务,并使用相同的DB和Blob存储

  • SQLAzure
  • Azure Blob存储
这两个角色与Azure队列系统通信(或很快就可以)

本地:

数据中心08(直流)+Hyper V -TFS2010虚拟机 -Linux防火墙的虚拟机

开发框1(Win7) -VS 2010/VS 08 -SQL 08 R2/05

开发人员笔记本电脑2 -如上所述

我倾向于使用奇妙的免费工具将键盘、鼠标、剪贴板绑定在一起,一直将这些功能放在一起运行(因此我不需要停下来等待任何东西)

我读过的一些东西: 我已经阅读了我所发现的和它的一些伟大的东西,所以我也在这里发布这些链接来帮助其他人解决这些问题,但是这些链接似乎都不起作用,或者可能我不懂,或者我错过了什么

免责声明/论坛滥用最小化宣传语B: 就像我说的,我不是