【问题标题】:How to use Nant/TeamCity to Deploy across DMZ?如何使用 Nant/TeamCity 跨 DMZ 部署?
【发布时间】:2008-12-05 17:26:07
【问题描述】:

我在我们的域中构建了服务器(它必须是因为它还与域中的其他框通信),以及位于 DMZ 中的网络服务器。

作为我们构建脚本的一部分,我想使用 Nant 复制任务将网站部署到 DMZ 中的网络服务器。问题是,Nant 是从在构建服务器上的系统帐户下运行的 TeamCity 调用的,我无法找到让构建服务器系统帐户访问 DMZ 网络服务器目录的方法。 (无论如何,这可能不是一个好主意)。

有没有办法告诉 Nant 在不同的 Windows 用户下运行特定任务,或者我的问题有其他解决方案吗?

编辑: 我遇到的另一个限制是我不能创建新的域帐户(嗯,至少在没有经过批准程序的情况下不能)。我可以创建本地计算机帐户,但在这种情况下,runas 似乎无法跨 DMZ 运行。

【问题讨论】:

    标签: build-automation nant teamcity


    【解决方案1】:

    几个选项可能是:

    1. 使用Simple Command Runner 执行类似runas 的内容,指定在不同用户帐户下运行的nant.exe。
    2. 更改运行 TeamCity 服务器的帐户;就像有权访问 DMZ 的有限特权用户一样。
    3. 尝试使用NAntContrib提供的<scp>(安全复制)任务。
    4. 使用 nant <exec> 任务调用 ftp 程序,将文件放在 DMZ 上。

    希望这能提供一点帮助。祝你好运!

    【讨论】:

      【解决方案2】:

      您可以使用 powershell 远程处理从构建服务器中提取版本。与使用文件副本之类的推送版本相比,服务器更不容易受到攻击。

      我正在使用一个自定义应用程序来执行此操作,该应用程序登录到 teamcity 并下载工件,然后在本地使用 powershell 进行部署。

      【讨论】:

        猜你喜欢
        • 2010-12-31
        • 1970-01-01
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多