首页 文章

从Hudson Build / CI Server部署ASP.NET Web应用程序

提问于
浏览
7

我们有多个Hudson持续集成环境,使用自动构建和测试进行设置,但是我们不会对测试环境进行任何类型的自动部署 .

我想知道其他团队如何部署他们的ASP.NET Web应用程序 . 我们的构建使用一些脚本来打包构建工件,以停止/启动IIS,然后我们必须进入每个服务器并运行安装程序来安装Web应用程序 .

这正在成为我们流程中的一个瓶颈,我正在寻找简化和/或自动化流程的建议,而无需登录到每个服务器来安装最新版本 .

4 回答

  • 4

    如果您使用的是基于Unix / Linux的环境,则可能需要查看FabricCapistrano . 它们允许自动部署Web应用程序 .

    Edit:

    如果您使用的是Windows,则可能需要查看Web Deployment Tool for IIS . 这似乎仍处于_935457阶段,但可能对你有用 - 我自己没有亲身经历 .

  • 1

    您是要部署到单个环境还是要自动部署到所有环境?

    如果您在单一环境中执行此操作通常很容易通过CI服务器自动编写脚本,可以在每次构建后自动执行,也可以在每晚或甚至按需自动执行 .

    但理想情况下,您希望在所有环境中使用相同的部署自动化,从测试到 生产环境 . 在这种情况下,与您的Ops人员交谈并了解他们如何进行部署以及开发一些常见脚本可能是有意义的 . 当我们(Urbancode / AnthilPro)谈论deployment automation时,'s usually what we'正在谈论我们向客户推荐的内容 .

    如果你需要说服某人做出这笔投资是值得的,你可能会发现这份白皮书Build & Deployment Automation for the Lean Economy(pdf;需要注册)很有用 . 在其中,我们使用Value Stream Mapping的精益技术来说明为什么自动化部署对团队来说是一个巨大的胜利 . 当您意识到手动部署中有多少"waste"时,您所描述的自动化投资是不言而喻的 .

    JTF

  • 0

    我从来没有使用它,但它看起来像Cargo可能是一个解决方案 .

  • 0

    Easiets方式也是如此使用Hudson / jenkins也是如此 . 我使用一个简单的deploy.bat,它由jenkins build下的batch命令调用 .

    该脚本看起来像这样:

    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe /p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://server:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="Default Web Site" /p:Username=serverinstance\user /p:Password=somepassword /p:VisualStudioVersion=11.0
    

    然后你设置IIS也允许远程连接 . 而且你也好!

相关问题