【问题标题】:Changing an IIS6 website directory remotely远程更改 IIS6 网站目录
【发布时间】:2009-02-23 01:26:28
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: vbscript iis-6 windows-server-2003 nant teamcity


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我们使用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" />
        

        编码愉快!

        【讨论】:

          猜你喜欢
          • 2010-09-24
          • 2012-11-21
          • 1970-01-01
          • 1970-01-01
          • 2018-05-05
          • 1970-01-01
          • 2010-11-17
          • 1970-01-01
          相关资源
          最近更新 更多