Azure Pipeline前置CopyFiles任务后无法找到PowerShell脚本
问题解决方案
问题根源
Azure Pipelines中多次执行checkout任务时,后续的checkout默认会将代码克隆到$(System.DefaultWorkingDirectory)下以仓库名称命名的子目录中,而非覆盖根目录。你的PowerShell脚本位于set-wiki仓库,当先checkoutwiki仓库再checkoutset-wiki时,set-wiki的代码被存放到了子目录里,但你指定的ScriptPath仍指向根目录路径,导致找不到脚本文件。
可行解决方案
方案一:指定第二次checkout到根目录
在第二次checkout任务中添加path: '.'参数,让set-wiki仓库直接克隆到工作目录根路径,覆盖之前的wiki仓库内容,脚本路径即可正常访问:- checkout: git://something/set-wiki #checkout specific branch path: '.'方案二:修改脚本路径为子目录路径
若需保留两个仓库的内容,不覆盖根目录,将ScriptPath调整为set-wiki仓库所在子目录的完整路径(注意替换为实际仓库名称):ScriptPath: 'set-wiki/1.0/scripts/sync-wiki-repo.ps1'方案三:调整checkout顺序
先克隆脚本所在的set-wiki仓库,再checkoutwiki仓库并执行复制操作,确保根目录始终保留脚本文件:steps: - checkout: git://something/set-wiki #checkout specific branch - checkout: wiki - task: CopyFiles@2 displayName: Copy wiki files inputs: contents: 'Wiki/Distribution/Client-Welcome-Page/Readme.md' targetFolder: '$(System.DefaultWorkingDirectory)/wiki-staging' overWrite: true - task: AzurePowerShell@5 # 保持原有配置不变
内容的提问来源于stack exchange,提问作者Filip BA
相关产品推荐
相关产品推荐

