我试图从 package.json 获取 npm 版本并用它来标记我的 git 存储库,但似乎不起作用,因为该变量在设置之前似乎已“预加载”。
我创建了一个命令行任务来执行此操作:
npmVersion=$(node -p "require('./package.json').version")
echo '##vso[task.setvariable variable= npmVersion]$npmVersion'
然后,在获取源中,我设置了我的存储库、分支和标签格式,如下所示:
但是输出标签是这样的:
我该怎么办?
谢谢
确保您的命令行任务出现在获取源步骤之后。
您还可以尝试内联脚本步骤来验证它是否在命令中保持不变。
steps:
- script: |
npmVersion=$(node -p "require('./package.json').version")
echo "##vso[task.setvariable variable=npmVersion]$npmVersion"
displayName: 'Set npm version'
- script: |
echo "dev_$(npmVersion)_$(build.buildNumber)"
displayName: 'Print source version'