1

一、之前的情况:我们这个项目有一个一键构建脚本。它与 TFS Deployer + PowerShell + VB 脚本拼凑在一起。TFS Deployer 位于生产机器上,将新的网站文件复制到一个全新的目录中,然后调用将 IIS 网站更改为新目录的 VB 脚本。

现在,我正在让团队远离 TFS/MSBuild 的恐惧。我在专用构建服务器上有一个 TeamCity 构建代理。一个简单的 NANT 脚本通过共享文件夹将构建工件从构建服务器部署到生产服务器。简单、快速、有效。

但是,我还没有找到一种方法 a) 远程运行 VB 脚本 b) 使用不同的机制远程更新 IIS 站点(在 1-click 构建中以编程方式)。Windows 服务器 2003/IIS6。有任何想法吗?

更新:我通过创建另一个远程调用我通过 WMI 拥有的旧 vbs 的 vbs 解决了这个问题。谢谢大家!

4

3 回答 3

1

您能否将 vbscript 文件更改为同一服务器上不同网站中的 ASP 文件?这将允许您远程调用它。

于 2009-02-23T01:42:34.637 回答
1

如果我要朝任何方向前进,我会考虑设置一个 WMI 脚本来完成这项工作,然后在相关服务器上对其进行配置。我将不得不考虑如何轻松地将其包含到您的自动构建中。我个人还没有与 TeamCity 合作过,尽管我参加了有关它如何工作的会议。

WMI 也可能能够运行脚本,并充当一种服务前端,因此您可以重用您已经花费的精力。

于 2009-02-23T01:45:13.647 回答
1

我们使用NAntContrib 的 mkiisdir任务在远程机器上创建/修改虚拟目录。

<mkiisdir iisserver="Staging" dirpath="c:\temp" vdirname="Temp" />

这应该创建(如果 vdir 不存在)或更改位置(如果 vdir 已经存在)。

通常,似乎最干净的方法是首先使用deliisdir任务删除 vdir,然后再创建。

<deliisdir vdirname="Temp" failonerror="false" />
<mkiisdir dirpath="c:\temp" vdirname="Temp" accessread="true" accesswrite="false" accessscript="true" enabledirbrowsing="false" authntlm="true" authbasic="false" authanonymous="false" appcreate="Pooled" />

快乐编码!

于 2009-02-24T16:59:37.343 回答