azure piplines 无法创建目录“/home/iradmin/aaaa/my-proj/WebUI/”。访问路径被拒绝

azure pipline yaml 发布配置


触发:

  • 测试

池: vmImage: ubuntu 最新版

变量: 构建配置:'发布' 发布路径:'/home/iradmin/aaaa/my-proj'

- task: UseDotNet@2 
  displayName: "Building .NET Core 5.x sdk"
  inputs:
    version: '5.0.x'
    packageType: sdk


- task: DotNetCoreclI@2
  displayName: 'dotnet restore'
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    feedsToUse: 'select'

- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'Building'

- task: DotNetCoreclI@2
  displayName: "Publish"
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**/**/WebUI.csproj'
    arguments: '-r linux-x64 --configuration $(BuildConfiguration) --output $(PublishPath)'
    modifyOutputPath: false
    zipAfterPublish: false
    

一切顺利,但... 发布步骤中的输出错误


2021-07-31T13:48:01.0670834Z /opt/hostedtoolcache/dotnet/sdk/5.0.302/Sdks/microsoft.NET.Sdk/targets/microsoft.NET.Publish.targets(111,5): 错误MSB3191:无法创建目录“/home/iradmin/aaaa/my-proj/WebUI/”。对路径“/home/iradmin/aaaa/my-proj/WebUI/”的访问被拒绝。 [/home/vsts/work/1/s/src/WebUI/WebUI.csproj] 2021-07-31T13:48:01.0704470Z ##[错误]错误:进程“/opt/hostedtoolcache/dotnet/dotnet”失败,退出代码为 1 2021-07-31T13:48:01.0716597Z ##[警告].NET 5 与较旧的 Nuget 版本(https://docs.microsoft.com/en-us/dotnet/core/tools/ 和 https://docs.microsoft.com/en-us/dotnet/core/compatibility/。要了解更多此类更改和故障排除,请参阅此处:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting 2021-07-31T13:48:01.0723236Z ##[error]Dotnet 命令失败,以下项目的退出代码为非零:/home/vsts/work/1/s/src/WebUI/WebUI.csproj 2021-07-31T13:48:01.0727745Z ##[section]整理:发布


提前致谢

wuqingzixiaozi 回答:azure piplines 无法创建目录“/home/iradmin/aaaa/my-proj/WebUI/”。访问路径被拒绝

/home/iradmin/... 输出目录可能不存在,或者您没有写入权限。在这两种情况下,最好在您知道自己拥有适当访问权限的地方创建新文件和目录。在 Azure DevOps 代理上,此目录肯定是预定义的 变量 Build.ArtifactStagingDirectory

您可以查看https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#publish-projects-to-specified-folder,其中arguments的定义如下:

 arguments: '-o $(Build.ArtifactStagingDirectory)/Output'

我建议重新考虑 PublishPath 变量定义,并将其值设置为例如:$(Build.ArtifactStagingDirectory)/Output

本文链接:https://www.f2er.com/5157.html

大家都在问