【问题标题】:curl is not recognized as an internal or external command running from the Teamcity command line scriptcurl 未被识别为从 Teamcity 命令行脚本运行的内部或外部命令
【发布时间】:2013-11-19 16:41:58
【问题描述】:

运行 Teamcity 命令行脚本时,curl 未被识别为内部或外部命令。 Curl 安装在本地,在命令提示符下可以正常工作。

构建日志结果:

[20:05:35]Step 2/2: Command Line
[20:05:35][Step 2/2] Starting: C:\BuildAgent\temp\agentTmp\custom_script7047202395618427524.cmd
[20:05:35][Step 2/2] in directory: C:\BuildAgent\work\376652cbd18bb804
[20:05:35][Step 2/2] 'curl' is not recognized as an internal or external command,
[20:05:35][Step 2/2] operable program or batch file.
[20:05:35][Step 2/2] Process exited with code 1
[20:05:35][Step 2/2] Step Command Line failed

卷曲命令

curl -v --request PUT %teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/pin 
-u    admin:admin

【问题讨论】:

  • 下面给出的是用于获取构建信息的命令。 curl -v --basic --request GET %teamcity.serverUrl%/httpAuth/app/rest/changes? build=id:%teamcity.build.id% --data true --header "Content-Type: text/xml"

标签: curl teamcity


【解决方案1】:

扩展其他答案,您确实需要告诉 TeamCity curl 在哪里。

但是,您可以通过 TeamCity 将 curl 的路径附加到您的 env.Path 变量中,这样做的好处是您不必更改每个构建代理上的 PATH 变量。

  1. 在您的构建配置中,在“构建参数”部分下添加env.Path
  2. 对于值,需要指定curl的路径加上保留现有值;类似:

    c:\path\to\dirWithCurl;%env.Path%

  3. 如果您想证明它有效,请添加一个测试构建步骤;只需执行以下操作并查看结果:

    echo %env.Path%
    curl --help

我最近探索了 TeamCity 如何处理附加值...请参阅this answer 了解太多信息和 MySql 示例。查看编辑#2,但您需要的基础知识在上面。

【讨论】:

  • 而且由于 Windows 10 1803 curl 位于 C:\Windows\System32
【解决方案2】:

您需要:

a) 按照 anovitskiy 的建议进行操作并将其添加到路径中。但随后重新启动构建代理,让它选择新路径。

b) 而不是说curlC:\Path\To\Location\of\curl.exe 作为命令。

【讨论】:

    【解决方案3】:

    有同样的问题。并发现了这一点。 由于 Win 10 1803 Curl 是系统的一部分,位于 %windir%\System32 但是 Win64 上的 TeamCity 代理在此文件夹中找不到任何可执行文件 感谢this answer,它显示为 Windows 问题 (More detais here)

    所以我修改了我的脚本以在本地运行和作为构建步骤运行:

    IF EXIST %windir%\Sysnative\curl.exe (
    %windir%\Sysnative\curl.exe -X GET "http://example.com"
    ) ELSE (
    curl -X GET "http://example.com"
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 2013-10-06
      • 1970-01-01
      • 2019-05-12
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      相关资源
      最近更新 更多