首页 > 解决方案 > Azure Devops 中的多个存储库签出问题

问题描述

我的代码有多个结帐,当我运行管道时,其中一个结帐的目录路径无法识别。

jobs:
- job: job1
  steps:
  - checkout: rep1
    path: test1
  - checkout: rep2
    path: test2

  - task: AzurePowerShell@5
    inputs:
      azureSubscription:xxxxx
      ScriptType: 'FilePath'
      ScriptPath: '$(System.DefaultWorkingDirectory)/folder1/myPowershell.ps1'
      azurePowerShellVersion: 'LatestVersion'

我看到一条警告,上面写着“托管代理中未按预期存在模块路径,跳过步骤以使模块可用”。Powershell 脚本永远不会执行。请问有什么帮助吗?

标签: azureazure-devopsazure-pipelines

解决方案


根据官方文档

如果您的作业中有多个签出步骤,您的源代码将签出到以存储库命名的目录中,作为sin的子文件夹(Agent.BuildDirectory)。如果(Agent.BuildDirectory)C:\agent\_work\1并且您的存储库被命名为toolsand code,您的代码将被签出到C:\agent\_work\1\s\toolsand C:\agent\_work\1\s\code

因此,看起来应该在构建管道ScriptPath中的任务属性时牢记这一点。AzurePowerShell@5如果 PowerShell 文件位于folder1存储库的目录中rep1,则路径应如下所示 $(Agent.BuildDirectory)/rep1/folder1/myPowershell.ps1


推荐阅读