azure - 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 脚本永远不会执行。请问有什么帮助吗?
解决方案
根据官方文档:
如果您的作业中有多个签出步骤,您的源代码将签出到以存储库命名的目录中,作为
s
in的子文件夹(Agent.BuildDirectory)
。如果(Agent.BuildDirectory)
是C:\agent\_work\1
并且您的存储库被命名为tools
andcode
,您的代码将被签出到C:\agent\_work\1\s\tools
andC:\agent\_work\1\s\code
。
因此,看起来应该在构建管道ScriptPath
中的任务属性时牢记这一点。AzurePowerShell@5
如果 PowerShell 文件位于folder1
存储库的目录中rep1
,则路径应如下所示
$(Agent.BuildDirectory)/rep1/folder1/myPowershell.ps1
。
推荐阅读
- android - 在导航控制器中杀死片段
- mysql - 错误 1064:无法在 mysql 中使用变量执行 while 循环
- javascript - 如何过滤和计算距原点 10 公里的 JSON 对象纬度和经度?
- java - ADLS Gen-2。从关于邮递员创建新文件系统的 PUT 请求中获取 AuthorizationPermissionMismatch 错误
- reactjs - 如何在反应大日历中获取月份视图中一周的全天名称
- python - ValueError:尝试在非包 [gem5] 中进行相对导入
- excel - VBA:如何为声明语句设置动态库路径?
- firebase - 实时加载推文以显示在前端
- spring-boot - 启动期间未调用自定义 HealthIndicator
- ubuntu - bash:/generic_send_tcp:在 Ubuntu 18.04 中没有这样的文件或目录