You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

TeamCity 2017.2.3中SMB Upload步骤如何设置分支条件目标路径?

解决TeamCity SMB Upload按分支区分目标路径的问题

针对你在TeamCity 2017.2.3(build 51047)里遇到的需求——让默认分支的构建上传到和其他分支不同的SMB路径,不用PowerShell也能轻松实现,我给你两种实用的方案:

方法一:通过自定义构建参数实现条件路径

这种方式更灵活,参数可以复用在其他步骤里:

  1. 进入你的构建配置,打开「Parameters」选项卡
  2. 添加一个新的自定义参数,比如命名为 smb.target.path
  3. 在参数的「Value」字段中,使用TeamCity内置的条件语法(注意SMB路径的反斜杠要写双份,避免被解析成转义符):
    %if teamcity.build.branch.is_default=true%\\\\server\\default-branch-storage%else%\\\\server\\branch-specific\\%teamcity.build.branch%
    
  4. 回到SMB Upload构建步骤,在「Target URL」字段里直接引用这个参数:%smb.target.path%

方法二:直接在SMB Upload步骤中写内联条件

如果不需要复用参数,直接在步骤里写条件表达式更快捷:

  1. 打开SMB Upload构建步骤的配置界面
  2. 在「Target URL」输入框中,直接写入带条件的路径表达式(同样注意双反斜杠的使用):
    %if teamcity.build.branch.is_default=true%\\\\server\\default-location%else%\\\\server\\non-default-branches\\%teamcity.build.branch%
    

注意事项

  • 确认%teamcity.build.branch.is_default%变量在你的版本中可用:这个是TeamCity 2017.2及以上版本的内置变量,完全符合你的版本要求
  • 如果分支名称包含特殊字符,可能需要对%teamcity.build.branch%做简单处理,但只要你的分支命名规范,直接使用即可
  • 测试时可以分别触发默认分支和其他分支的构建,验证SMB上传的目标路径是否符合预期

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

火山引擎 最新活动