【问题标题】:Build tokens are not resolving for VSTS Gradle build task构建令牌无法解析 VSTS Gradle 构建任务
【发布时间】:2018-03-26 10:41:28
【问题描述】:

为了让 android build 具有唯一的版本代码,我们将版本代码作为参数传递给 gradle build 任务。参数值格式如下:$(Year:yy)$(DayOfYear)$(rev:r)。

从日志构建命令:

[命令]C:\Windows\system32\cmd.exe /D /S /C "D:\a\3\s\gradlew.bat "-PversionCode=$(Year:yy)$(DayOfYear)$ (rev:r)"构建"

构建令牌未解析。错误详情如下:

评估项目“:app”时出现问题。 对于输入字符串:“$(Year:yy)$(DayOfYear)$(rev:r)”

【问题讨论】:

  • 您好 Santosh,请在您的构建定义和构建的详细调试日志中提供带有 Gradle 任务输入的屏幕截图。 (将调试日志的 system.debug 变量设置为 true。)谢谢,Alex

标签: azure-devops azure-pipelines


【解决方案1】:

这些变量不是内置的构建变量,但可以用作构建编号格式。

关于您的环境,您可以通过Logging Command 添加/更新变量。

例如:

  1. 将内部版本号格式设置为$(Year:yy)$(DayOfYear).$(rev:r)或其他(只想检索rev:r的值)
  2. 添加 PowerShell 任务以添加变量 (PversionCode)

脚本:

$date = get-date
$year=$date.year
$dayOfYear=$date.DayofYear
write-Host $(Build.BuildNumber)
$r="$(Build.BuildNumber)".split(".")[-1]
Write-Host "##vso[task.setvariable variable=PversionCode;]$year$dayOfYear$r"
  1. 在 Gradle 任务中使用(选项:-PversionCode=$(PversionCode))

【讨论】:

  • 谢谢,通过 Logging 命令添加变量解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 2021-02-26
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多