You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TeamCity中获取当前构建ID并传入脚本?

解决TeamCity构建ID传递及代理兼容问题

先处理代理兼容错误

你遇到的「没有兼容代理可运行此构建」问题,根源是Setup构建步骤错误添加了对system.teamcity.build.id的隐式依赖。这个参数是TeamCity服务器生成的构建级参数,不属于代理的固有属性,所以没有代理能满足该要求。

  • 进入TeamCity的构建配置页面,找到Setup步骤
  • 检查「Agent Requirements」(代理要求)部分,删除对system.teamcity.build.id的要求,即可解决代理兼容问题

正确传递构建ID到脚本

你需要的带#的构建ID(如#2594),可以通过以下方式实现:

  • 如果是在构建步骤的脚本框中直接编写bash代码,可直接拼接#号和TeamCity的构建号参数:
    if [ $? != 0 ]; then
        python store_test_artifacts.py --buildId "#%system.build.number%"
    fi
    
  • 也可以用TeamCity自动生成的环境变量(参数名转为大写下划线格式):
    if [ $? != 0 ]; then
        python store_test_artifacts.py --buildId "#$BUILD_NUMBER"
    fi
    
  • 若你的bash脚本是独立文件,需在构建步骤的命令行中手动传入参数,再在脚本内接收:
    构建步骤命令行写:
    bash your_script.sh %system.build.number%
    
    脚本内获取参数:
    if [ $? != 0 ]; then
        python store_test_artifacts.py --buildId "#$1"
    fi
    

内容的提问来源于stack exchange,提问作者Stein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:23:08