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

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

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

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

有帮助吗?

解决方案

如果我在任何方向前进,我会考虑设立一个WMI脚本做的工作,然后有问题的服务器上配置它。我将不得不考虑如何轻松地包括到您的自动化构建此。我personaally没有它如何与TeamCity的工作呢,虽然我已经参加了会议。

WMI可能能够运行脚本,以及,并作为一种服务前端的,所以你可以重用你已经花了精力。

其他提示

你可以改变VBScript文件到一个ASP文件在不同的网站在同一台服务器上?这将允许你远程调用它。

我们用过 NAntContrib 的 目录 在远程计算机上创建/修改虚拟目录的任务。

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

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

一般来说,最干净的方法似乎是首先使用以下命令删除 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" />

快乐编码!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top