首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PowerShell无法识别build.ps1文件。如何在没有硬编码的情况下定义路径

PowerShell无法识别build.ps1文件。如何在没有硬编码的情况下定义路径
EN

Stack Overflow用户
提问于 2020-08-18 04:02:14
回答 1查看 757关注 0票数 1

我有一个简单的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

我不想硬编码文件路径..因为每次都会有所不同。我只想提一下文件名

代码语言:javascript
代码运行次数:0
运行
复制
#This is the YML file

trigger:
- master

pool:
  vmImage: 'windows-latest'

steps:
- powershell: .\build.ps1 -target=Push -nugetUsername='$(nugetUsername)' -nugetPassword='$(nugetPassword)'
EN

回答 1

Stack Overflow用户

发布于 2020-08-18 15:16:39

最简单的方法是将您的build.ps1文件推送到Azure devops存储库。

如果要运行本地构建.ps1文件,首先需要指定private agent pool而不是托管代理池。其次,您需要在yaml中指定powershell任务的workingDirectory参数,否则缺省值为$(Build.SourcesDirectory)

workingDirectory:指定要在其中运行命令的工作目录。如果将其保留为空,则工作目录为$(Build.SourcesDirectory)。有关详细信息,请参阅此document

您可以参考以下示例脚本:

代码语言:javascript
代码运行次数:0
运行
复制
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)'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63457847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档