【发布时间】:2018-01-24 21:04:15
【问题描述】:
我正在使用 TFS 2017。我有一些针对在 Mac OSX 代理上运行的 iOS 应用程序的构建定义。这些构建定义包含一个或多个 Shell (Bash) 脚本和命令行任务。在这些任务中,我尝试使用物理 Mac 计算机上的环境变量。问题是,要使用 Mac 的环境变量,我需要通过 TFS 构建任务发送一个“$”。当 TFS 将它发送到 Mac 代理时,它似乎在翻译中迷失了(我假设是因为 Build def 使用“$”作为它自己的变量)。这是我正在尝试做的一个示例:
命令行任务:
工具
/TEE/tf
参数
checkin -comment:"Advance Version Number - $(SolutionName) to $(< newversion.txt) (TFS BuildNumber: $(Build.BuildNumber))" "$(Build.SourcesDirectory)/$(Info.plist.Path)" -login:$(TfsLogin),$(TfsPassword)
以及由此产生的 TFS 变更集:
Advance Version Number - MyiOSSolution to $(< newversion.txt) (TFS BuildNumber: 20180124.53)
前面的 Build 任务是一个 Bash 脚本,它更新 iOS 项目的版本号(在 info.plist 文件中)并创建文件“newversion.txt”。 “newversion.txt”包含带有新版本号的单行。事实证明,一旦先前的 Bash 脚本终止,就很难持久化环境变量。所以我改为尝试将新版本号写入可以在后续构建任务中获取的文件。
此命令行任务的目标是使用 TEE(Team Explorer Everywhere)来签入更改后的 info.plist 文件。并在签入注释中使用新版本号。
在终端中使用“$(
【问题讨论】:
-
变量名是什么? “