Asp classic 经典asp-如何在持续集成环境中自动部署

Asp classic 经典asp-如何在持续集成环境中自动部署,asp-classic,continuous-integration,msdeploy,automated-deploy,Asp Classic,Continuous Integration,Msdeploy,Automated Deploy,我一直在读书,而且。。。关于自动部署和持续集成等等,但其中没有一个似乎在谈论经典asp环境中的自动部署,除非您进入自动部署,否则您无法真正执行正确的CI MSDeploy可以部署一个经典的asp网站吗?如果不是。。。是否最好只编写一个构建脚本,将所有文件复制到正确的文件夹,然后启动IIS?我已经使用msbuild和robocopy msbuild扩展任务完成了这项工作。但是如何处理不同的环境(QA、开发、登台、生产)没有web配置来放置不同的连接字符串等。。。假定msbuild是配置感知的。。。

我一直在读书,而且。。。关于自动部署和持续集成等等,但其中没有一个似乎在谈论经典asp环境中的自动部署,除非您进入自动部署,否则您无法真正执行正确的CI

MSDeploy可以部署一个经典的asp网站吗?如果不是。。。是否最好只编写一个构建脚本,将所有文件复制到正确的文件夹,然后启动IIS?我已经使用msbuild和robocopy msbuild扩展任务完成了这项工作。但是如何处理不同的环境(QA、开发、登台、生产)没有web配置来放置不同的连接字符串等。。。假定msbuild是配置感知的。。。但是,在没有web配置的情况下,它是如何工作的呢


因此,面对所有这些问题,我正在努力为我们的经典asp网站创建一个部署脚本/module/exe。是否有人有任何答案/资源/其他问题可以为我指明方向?

使用cruisecontrol.net进行签出,我们将其与msbuild一起用于自动化部署,效果非常好。我们是一家.Net商店,但基本上是一样的。巡航控制可以运行脚本,并且可以很好地处理web.config/global.asa转换。只要你能编写脚本,巡航控制系统就可以处理它

根据您的开发环境,您可能能够将其与cruisecontrol挂钩。我们使用TFS,它集成得很好,所以当我们将项目检入不同的分支(Dev、Main、Stage)时,它会自动将站点部署到适当的位置

在部署到生产环境时,我们使用MSbuild来移动代码。由于它位于另一个网络位置,我们需要一些可以到外部进行任何必要的服务器更新的东西


MSDEPLOY可以部署任何可以在IIS中生存的东西。您可以从现有网站创建一个包,并对其进行检查以查看打包的内容。您应该能够使用它来确定如何从源代码打包您的站点

您甚至应该能够从源代码中创建VisualStudio项目,以便直接使用Web发布管道。没有可编译的内容这一事实不应阻止您指定.ASP文件为内容文件。

webdeploy()。您只需为不同的环境自定义部署脚本


您可能会发现这些链接很有用:
-
-

谢谢avakharia。。。我读了你提供的链接,但我不知道如何才能找到有用的链接。我尝试将我的浏览器和inetinfo附加到我的调试。。。但我不明白这是如何真正帮助我在VisualStudio中使用asp脚本的?我所得到的只是ntdll.dll的分解。您和其他人(包括视频下载链接)表明msdeploy可以部署asp网站。我按照建议做了,并尝试导出应用程序,以查看将要打包的内容。。。但是没有一个asp文件被打包。。。所以要么我做错了什么,要么它不受支持?如上所述,我试图打包现有的网站,但没有asp的东西被包括在内。我不知道为什么?你是说在visual studio中创建一个空项目并将所有文件添加到该项目中。。。然后围绕该项目编写一个构建脚本?如果是的话。。。再说一遍,我该如何创建它,使它能够在不同的环境中工作。。。连接字符串等,我不明白如何包含一次性数据库更改?下次我们部署时会发生什么。。。那还在剧本里吗?我需要每次为每张票更改它吗?你没有说过你是如何尝试打包现有网站的。我是说一种方法是创建空项目。您不需要构建脚本。正常的Web发布管道应该“正常工作”。我还没有提到数据库更改。我使用数据库项目来实现这个目的。很抱歉,我还没有尝试过,我将在周一回去工作时尝试创建一个项目。用常规管道。。。web配置转换如何与部署管道一起工作。我需要一个构建脚本,因为我们需要在部署前运行自动测试等。我想我只是不太确定我在寻找什么,或者从哪里开始,关于如何设置这些参数,以便选择自动部署的位置…我创建包以查看部署是否包含asp项的方法是我从IIS导出web应用程序。Robert,我们的开发团队目前正在使用team city。。。但再一次,即使我们换了。。。巡航控制将如何帮助不同的环境和一次性数据库更改?巡航控制只是我们用来启动构建脚本的软件。cruise control的好处在于,您可以编写一种脚本,它可以使用参数运行脚本,并将其集成到您的开发环境中,以查看何时签入一个项目,它将针对分支运行部署过程。所以,我们有3个环境设置,当您签入其中任何一个环境时,巡航控制启动部署并发送一封包含完整状态的电子邮件。您可以设置一个脚本来执行数据库部署,我们没有,但已经考虑过这样做。这里的关键部分我似乎无法完成。。。但我知道人们会这么做。。。我正在努力寻找is的文档。。。对于asp网站,如何使用ms build脚本包,单击按钮或根据提供的参数将其部署到3个环境中的1个。第二件事是,一旦我有了一个应用程序的构建脚本,在部署时,我有一些数据库表或需要进行的更改。。。这些只会发生在此部署中。。。不是下一个。。。因为那是一张不同的票。。。我该怎么处理?