Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 访问azure管道中用于javascript生成的GitVersion变量_Azure Devops_Azure Pipelines_Azure Pipelines Build Task - Fatal编程技术网

Azure devops 访问azure管道中用于javascript生成的GitVersion变量

Azure devops 访问azure管道中用于javascript生成的GitVersion变量,azure-devops,azure-pipelines,azure-pipelines-build-task,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,我有以下管道: steps: - task: GitVersion@4 - script: | echo '##vso[task.setvariable variable=buildVersion]$(GitVersion.FullSemVer")' - task: NodeTool@0 inputs: versionSpec: '10.x' displayName: 'Install Node.js' - task: Npm@1 inputs: co

我有以下管道:

steps:

- task: GitVersion@4

- script: |
    echo '##vso[task.setvariable variable=buildVersion]$(GitVersion.FullSemVer")'

- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- task: Npm@1
  inputs:
    command: 'install'
    workingDir: '$(Build.SourcesDirectory)'
  displayName: "NPM Install"

- task: Npm@1
  inputs:
    command: 'custom'
    workingDir: '$(Build.SourcesDirectory)'
    customCommand: 'run-script build'
  displayName: "NPM Build"

- task: Npm@1
  inputs:
    command: 'custom'
    workingDir: '$(Build.SourcesDirectory)'
    customCommand: 'npm version $(buildVersion)'
  displayName: "Add version"
但我无法访问GitVersion输出。我也尝试过简单地引用$(GitVersion.FullSemVer),但它给出了相同的结果。npm版本的输出为:

[command]C:\windows\system32\cmd.exe /D /S /C "C:\hostedtoolcache\windows\node\10.16.0\x64\npm.cmd npm version "$(GitVersion.FullSemVer)'""
Usage: npm <command>
[command]C:\windows\system32\cmd.exe/D/S/C“C:\hostedtoolcache\windows\node\10.16.0\x64\npm.cmd npm version“$(GitVersion.FullSemVer)”
用法:npm
如果我写出实际的变量,它看起来很好

编辑:目前的问题似乎是引用了版本号,这是npm不喜欢的。因此,问题更多的是如何避免这种情况发生。

$(GitVersion.FullSemVer)中有一个额外的
,只需将其删除即可:

echo '##vso[task.setvariable variable=buildVersion]$(GitVersion.FullSemRev)'
例如:

- task: GitVersion@4

- script: 'echo ##vso[setvariable variable=buildVersion]$(GitVersion.FullSemRev)'

- script: 'echo $(buildVersion)'
结果:

您在
$(GitVersion.FullSemVer)中有一个额外的
,只需将其删除即可:

echo '##vso[task.setvariable variable=buildVersion]$(GitVersion.FullSemRev)'
例如:

- task: GitVersion@4

- script: 'echo ##vso[setvariable variable=buildVersion]$(GitVersion.FullSemRev)'

- script: 'echo $(buildVersion)'
结果:


额外的报价很吸引人,但不幸的是,它不是。我已经意识到这是什么。当我注入变量时,它会被qout
\npm.cmd版本“0.1.0+54'”
这是个问题。太棒了:)额外的引号很好,但不是很不幸。我已经意识到它是什么。当我注入变量时,它得到了qouted;
\npm.cmd版本“0.1.0+54'”
这是个问题。太棒了:)