我有一个简单的yml文件,用于在Azure devops中运行管道。在YML中,我定义了.build.ps1文件路径,但我一直收到以下错误
../build.ps1 :术语'../build.ps1‘未被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试
这是我的C:\Users\David.Remin\source\repos\branchName\FirstBranch\build.ps1文件所在的build.ps1文件
下面是我在yml文件中定义的内容
powershell:../build.ps1
我不想硬编码文件路径..因为每次都会有所不同。我只想提一下文件名
#This is the YML file
trigger:
- master
pool:
vmImage: 'windows-latest'
steps:
- powershell: .\build.ps1 -target=Push -nugetUsername='$(nugetUsername)' -nugetPassword='$(nugetPassword)'
发布于 2020-08-18 07:16:39
最简单的方法是将您的build.ps1
文件推送到Azure devops存储库。
如果要运行本地构建.ps1文件,首先需要指定private agent pool而不是托管代理池。其次,您需要在yaml中指定powershell任务的workingDirectory
参数,否则缺省值为$(Build.SourcesDirectory)
。
workingDirectory
:指定要在其中运行命令的工作目录。如果将其保留为空,则工作目录为$(Build.SourcesDirectory)。有关详细信息,请参阅此document。
您可以参考以下示例脚本:
pool: Default
jobs:
- job: Build
steps:
- task: PowerShell@2
inputs:
filePath: 'build.ps1'
workingDirectory: 'C:\Users\David.Remin\source\repos\branchName\FirstBranch'
arguments: '-target=Push -nugetUsername='$(nugetUsername)' -nugetPassword='$(nugetPassword)'
https://stackoverflow.com/questions/63457847
复制