You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline跨Stage执行文件遇权限拒绝及工件传递问题

问题解决:Azure Pipeline中Pipeline Artifacts权限与工件传递优化

一、解决权限拒绝问题

下载后的可执行文件缺少执行权限,直接在test阶段添加赋权步骤即可:

  • 若使用Linux/macOS代理,添加脚本任务执行命令:chmod +x ./test(路径需与你下载工件的实际路径对应)
  • 若使用Windows代理,一般不会出现该问题,若遇到可执行PowerShell命令:icacls .\test /grant Everyone:F

二、仅传递可执行文件的操作方法

要只发布可执行文件而非整个目录,调整PublishPipelineArtifact@1的参数配置即可,有两种方式:

方式1:直接指定可执行文件路径发布

在build阶段的发布任务中,将targetPath设为可执行文件的具体路径:

- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Build.ArtifactStagingDirectory)/test' # 替换为你的可执行文件实际路径
    artifact: 'test-executable'
    publishLocation: 'Container'

方式2:先复制可执行文件到 staging 目录再发布(更规范)

如果编译后的可执行文件不在默认的工件 staging 目录,先通过复制任务将单独的可执行文件移至该目录,再发布:

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)' # 编译生成test文件的目录
    Contents: 'test'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Build.ArtifactStagingDirectory)'
    artifact: 'test-executable'
    publishLocation: 'Container'

这样发布的工件中只会包含test可执行文件,test阶段下载后执行赋权命令即可正常运行。

内容的提问来源于stack exchange,提问作者RCB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:06:32