gpt4 book ai didi

asp.net - ANT 和 WAR 文件的 .NET 等效项?

转载 作者:行者123 更新时间:2023-12-02 21:03:45 25 4
gpt4 key购买 nike

我们的大多数内部应用程序都是使用 Ant 构建在 Java EE 堆栈上,并使用 WAR 文件部署到 Tomcat。我们有一个构建框,用于创建面向生产的 WAR,然后将 WAR 交付到测试环境。运行脚本将已部署的 Web 应用程序转换为指向测试数据环境。

经过几个周期的测试 -> 错误修复 -> 构建 -> 重新部署进行测试后,WAR 文件将部署到生产环境,然后上线。

我最近继承了一些 ASP.NET 4.0 webapp,它们的 Build/Deploy 有很大不同;代码在VS中构建,然后将整个项目目录复制到各个环境中。然后手动对其进行调整,偶尔会使用服务器上的 VS 实例进行重建。

这有点可怕,因为在一个环境中进行的调整有很多机会被遗忘,因此要求我们在应用程序“上线”后在测试范围之外使用它们,版本控制等

所以,所有这些都是这么说的:.NET 世界中是否存在与 Ant/WAR 机制等效的机制?从 .NET Web 应用程序创建可执行工件并以最少的修改在环境之间移动它的最安全方法是什么?我知道“最佳实践”是一个禁忌短语,但在我在 .NET 中重新制作 Ant 之前,我想深入了解一些专业知识。 :-)

最佳答案

自动化 Web 部署需要了解的三种技术:

  1. MSBuild - 这相当于 Microsoft 的 ANT。项目文件基本上只是一系列 MSBuild 任务。
  2. WebDeploy - 这本质上与 WAR/Tomcat 等效,只是它创建部署包,并且适用于 IIS。
  3. XML Transforms - 您应该永远必须手动编辑配置。如果您需要部署到多个环境,则配置转换至关重要。

将所有这些与您最喜欢的构建服务器(我使用 Jenkins)放在一起,您可以将整个部署过程完全自动化到任何环境。这些单独的主题中的每一个都过于广泛,无法在此处深入讨论,但您应该能够以对每个主题的最少了解来开始。

为了向您展示它是多么简单,下面是一个示例命令行构建,它将把网站部署到 2003/IIS6 机器上。

MSBUILD "MyWebSite.csproj" 
/p:Configuration=Dev
/p:OutputPath=bin
/t:Rebuild
/p:DeployOnBuild=true
/p:DeployTarget=MSDeployPublish
/P:AllowUntrustedCertificate=True
/p:MSDeployPublishMethod=RemoteAgent
/p:MsDeployServiceUrl=http://MyDevServer
/p:DeployIisAppPath="Default Web Site/MyWebSite"
/p:username=deployUser
/p:password=deployPassword

关于asp.net - ANT 和 WAR 文件的 .NET 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com