首先,先前的情况:我们有一个单击构建脚本的项目。它与TFS Deployer + PowerShell + VB Script拼凑在一起。 TFS Deployer位于生产计算机上,将新网站文件复制到一个全新的目录中,然后调用将所有IIS网站更改为新目录的VB脚本。
现在,我正在让团队远离TFS / MSBuild的恐怖。我在专用的构建服务器上有一个TeamCity构建代理。一个简单的NANT脚本通过共享文件夹将构建工件从构建服务器部署到生产服务器。简单,快速,有效。
但是,我还没有找到一种方法a)远程运行VB脚本b)使用不同的机制远程更新IIS站点(在一键编译中以编程方式)。 Windows Server 2003 / IIS6。有什么想法吗?
更新:我通过创建另一个远程调用我通过WMI获得的旧vbs的vbs来解决这个问题。谢谢大家!
答案 0 :(得分:1)
您是否可以将vbscript文件更改为同一服务器上不同网站的ASP文件?这将允许您远程调用它。
答案 1 :(得分:1)
如果我要向任何方向前进,我会考虑设置一个WMI脚本来完成工作,然后在有问题的服务器上配置它。我必须考虑如何轻松地将其包含在您的自动构建中。我个人还没有与TeamCity合作过,虽然我参加了有关其工作原理的会议。
WMI也可以运行该脚本,并充当一种服务前端,因此您可以重用已经花费的精力。
答案 2 :(得分:1)
我们使用NAntContrib's 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" />
快乐的编码!