从 Hudson Build/CI 服务器部署 ASP.NET Web 应用程序

发布于 2024-08-05 12:15:26 字数 233 浏览 4 评论 0原文

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

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

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

We have multiple Hudson continuous integration environments set up with automated builds and tests, however we don't do any kind of automated deployments to test environments.

I was wondering how other teams are deploying their ASP.NET web applications. Our builds package up the artifacts of a build with some scripts to stop/start IIS and then we have to go onto each server and run the installer to install the web app.

This is becoming a bit of a bottleneck in our process and I was looking for suggestions for simplifying and/or automating the process without having to log in to each server to do install the latest build.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

苦行僧 2024-08-12 12:15:26

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

编辑:

如果您使用的是 Windows,您可能需要查看 IIS 的 Web 部署工具。这似乎仍处于“技术预览”阶段,但可能对你有用——我自己没有个人经验。

If you're using a Unix/Linux-based environment, you may want to check out Fabric or Capistrano. They allow for automated deployments of web applications.

Edit:

If you're on Windows, you may want to check out the Web Deployment Tool for IIS. This appears to still be in the "Technological Preview" stage, but may work for you -- I have no personal experience with it myself.

莫多说 2024-08-12 12:15:26

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

如果您在单个环境中执行此操作,通常很容易编写脚本,使其从 CI 服务器自动发生,可以在每次构建后自动执行,也可以每晚自动执行,甚至按需执行。

但理想情况下,您希望在从测试到生产的所有环境中使用相同的部署自动化。在这种情况下,与您的运维人员交谈并了解他们如何进行部署并开发一些通用脚本可能是有意义的。当我们 (Urbancode/AnthilPro) 谈论 部署自动化这通常是我们谈论的内容,也是我们向客户推荐的内容。

如果您需要说服某人进行这项投资是值得的,您可能会找到此白皮书 构建并创建精益经济的部署自动化(pdf;需要注册)很有用。在其中,我们使用价值流映射的精益技术来说明为什么自动化部署是如此重要球队的重大胜利。当您意识到您所描述的手动部署中有多少“浪费”时,对自动化的投资是理所当然的。

杰夫

Are you looking to deploy to a single environment or do you want to automate deployments to all your environment?

If you're doing it to a single environment is generally easy to script this to happen automatically from your CI server, either automatically after each build or nightly or even on demand.

But ideally you'd like to use the same deployment automation across all your environments, from test through to production. In that case it might make sense to talk with your Ops people and find out how they are doing their deployments and the develop some common scripts. When we (Urbancode/AnthilPro) talk about deployment automation that's usually what we're talking about and what we recommend to our customers.

If you need to convince someone that making this investment is worthwhile you might find this whitepaper Build & Deployment Automation for the Lean Economy (pdf; registration required) useful. In it we use the Lean technique of Value Stream Mapping to illustrate why automating your deployments is such a big win for the team. When you realize how much "waste" there is in manual deployments of the kind you're describing the investment in automation is a no-brainer.

Jtf

我一直都在从未离去 2024-08-12 12:15:26

我从未使用过它,但看起来 Cargo 可能是一种解决方案。

I've never used it but it looks like Cargo could be one solution.

沒落の蓅哖 2024-08-12 12:15:26

Easiets 方法也是使用 Hudson/jenkins 来做。我使用一个简单的deploy.bat,它是在jenkins构建下通过批处理命令调用的。

该脚本看起来像这样:

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 设置为允许远程连接。你也很好,走吧!

Easiets way is too use Hudson/jenkins too do it. I use a simple deploy.bat that is called by batch command under jenkins build.

The script looks somthing like this:

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

Then you setup IIS too allow remote connections. And you´re good too go!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文