【问题标题】:Pass on branch name to a script in teamcity将分支名称传递给 teamcity 中的脚本
【发布时间】:2015-06-03 15:32:56
【问题描述】:

我有一个在 teamcity 9.0 中作为构建步骤运行的 python 脚本。现在我需要知道触发构建的分支名称。我可以使用%teamcity.build.branch% 来获取分支名称。但我需要将它传递给我的脚本,以便我可以使用它进行一些条件检查。这可能吗?如何?请帮帮我。

【问题讨论】:

  • 您使用的是 Python 构建运行器 (code.google.com/p/teamcity-python) 还是命令行构建运行器?脚本是内联的还是源代码文件中的?
  • @DevOps 它只是一个用python3.4 编写的脚本,从终端以python3.4 MyScript.py 运行。此脚本保存在构建服务器中。

标签: teamcity teamcity-9.0


【解决方案1】:

如果你从终端运行它,你可以将参数传递给python脚本,所以你需要运行的代码是

$ python MyScript.py %teamcity.build.branch%

或者,安装 python 构建运行器,因为这将帮助您通过 UI 将参数传递给脚本/源代码

Python Build Runner

希望对你有帮助

【讨论】:

  • 那么我们如何在脚本中使用这个%teamcity.build.branch%。我尝试了上述示例并尝试将%teamcity.build.branch% 存储到变量variable = %teamcity.build.branch%。从 teamcity 运行时,这会给我一个编译错误。
  • 能显示编译错误吗?如果这是一个 python 问题,那么我建议阅读这样的内容 - docs.python.org/3.4/library/argparse.html
  • @EvolveSoftwareLtd 在 powershell 脚本中使用此解决方案使我的所有代理都与“隐式要求”错误不兼容。
  • 您可能需要根分支规范。 stackoverflow.com/questions/22314229/… 实际上,由于某种原因,该变量在运行构建时不可用。
猜你喜欢
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-13
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多