我正在使用GitVersion在Azure DevOps yaml管道。它在windows-2022代理上工作得很好,但是对于ubuntu-latest或ubuntu-20.04,GitVersion步骤总是失败的:
/opt/hostedtoolcache/dotnet/dotnet tool install GitVersion.Tool --tool-path /home/vsts/work/_temp --version 5.10.3
You can invoke the tool using the following command: dotnet-gitversion
Tool 'gitversion.tool' (version '5.10.3') was successfully installed.
Caching tool: GitVersion.Tool 5.10.3 x64
##[error]Error: EINVAL: invalid argument, readlink '/opt/hostedtoolcache/dotnet/dotnet'
Finishing: GitVersion这条管道非常笔直:
pool:
# vmImage: windows-2022
vmImage: ubuntu-20.04
trigger:
- main
variables:
- name: buildConfiguration
value: Release
- name: solutionFile
value: src/mySolution.sln
- name: packagesToPush
value: stages:
- stage: Build
displayName: Build, Pack and Push NuGet Package
jobs:
- job: BuildSolution
displayName: Build Solution
variables:
GitVersion.SemVer: ""
steps:
- task: UseDotNet@2
displayName: Use .NET 6
inputs:
version: 6.0.x
- task: UseGitVersion@5
displayName: GitVersion
inputs:
versionSpec: 5.x
updateAssemblyInfo: false有人知道问题出在哪里吗?
发布于 2022-08-22 05:19:18
测试了同样的任务,得到了同样的问题。
##errorError: EINVAL:无效参数,readlink '/opt/hostedtoolcache/dotnet/dotnet‘
路径:/opt/hostedtoolcache/dotnet/dotnet是环境变量Dotnet_Root的值。
期望值为/opt/hostedtoolcache/dotnet。此值在以下任务中设置:UseDotNet@2。
task:UseGitVersion@5 UseDotNet@2任务中的变量集是正确的,但是使用了错误的Dotnet_Root(value:/opt/hostedtoolcache/dotnet/dotnet值)。
这个问题确实来自任务本身。
要解决此问题,可以在UseDotNet@2( installationPath: ../share/dotnet中设置路径)。
以下是YAML示例:
pool:
# vmImage: windows-2022
vmImage: ubuntu-latest
trigger:
- main
variables:
- name: buildConfiguration
value: Release
- name: solutionFile
value: src/mySolution.sln
- name: packagesToPush
value:
stages:
- stage: Build
displayName: Build, Pack and Push NuGet Package
jobs:
- job: BuildSolution
displayName: Build Solution
variables:
GitVersion.SemVer: ""
steps:
- task: UseDotNet@2
displayName: Use .NET 6
inputs:
version: 6.0.x
installationPath: ../share/dotnet
- task: UseGitVersion@5
displayName: GitVersion
inputs:
versionSpec: 5.x
updateAssemblyInfo: false那就成功了。
另一方面,任务: UseGitVersion被废弃了。这意味着任务将不再更新。请参考以下链接:GitVersion。
我们建议您可以更改为使用扩展名:GitTools,正如您在评论中所说的,它可以正常工作。
https://stackoverflow.com/questions/73429043
复制相似问题