【问题标题】:How can I pass values with spaces in them to the Execute Windows Batch command build step in Jenkins?如何将带有空格的值传递给 Jenkins 中的 Execute Windows Batch 命令构建步骤?
【发布时间】:2013-08-13 03:58:52
【问题描述】:

我的设置: Amazon EC2 Windows 2008 R2 实例上的 Mercurial DCVS(最新)和 Jenkins CI (1.509.2)。

我有一个 Jenkins 构建作业,需要在构建服务器和我们的生产服务器之间创建一个 VPN 链接,以便我可以通过 FTP 部署构建工件。

我正在尝试使用 Execute Windows Batch 命令构建步骤来执行类似于此的命令:

rasdial NameOfConnection user@host.domain "password with spaces in it"

如果我在控制台中的服务器上执行命令(即 RDC 到 EC2 VM 并在控制台中执行命令),它可以完美运行,完全没有问题。使用 Execute Windows Batch 命令构建步骤执行完全失败。没有多少改变报价类型,即双至单,或混合和匹配对,例如'"blah blah blah"' 有任何效果。

...时间流逝...

我刚刚尝试将命令移动到单独的批处理文件(“ConnectNameOfConnectionVPN.bat”)中,以便从执行 Windows 批处理命令构建步骤(即移动)中调用,这似乎是 Jenkins 之外的引号问题。不幸的是,这似乎也没有影响,实际上我收到以下错误,这表明可能发生了其他事情。

Remote Access error 623 - The system could not find the phone book entry for this connection.

目前我不知道。我在控制台中直接执行命令时也看到了同样的错误。

欣然接受任何帮助/提示。

谢谢

【问题讨论】:

    标签: jenkins hudson


    【解决方案1】:

    如果发生这种情况,我通常会在故障排除时考虑以下因素:

    1. 直接从控制台运行和通过 Jenkins 运行的环境变量可能不同
    2. 如果您通过 Jenkins 在 VM 上运行批处理,远程会话可能是一个因素
    3. 工作目录

    【讨论】:

    • Re 1;可能,但我没有在连接中使用任何环境变量。 2;也许。 3;我不相信这是可能的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多