ADO管道变量使用安装的nuget版本作为变量。

我正在尝试配置 Azure DevOps 管道,我有一个 yaml 文件,其中的步骤是这样的。

steps:
- task: NuGetCommand@2
  displayName: 'Install'
  inputs:
    command: custom
    arguments: install PKGNAME -source PKGSOURCE -outputDirectory F:\CSsyn
- task: CmdLine@2
  inputs:
    script: 'F:\CSsyn\PKGNAME.16.0.12817.30000\lib\net45\Runner.exe Run --arg1 test1 --arg2 test2

它只是简单地安装一个nuget包,然后从该包中运行一个可执行文件。唯一的问题是,我的命令中的 CmdLine 任务取决于安装包的具体版本。由于我安装的是最新的nuget包,版本在不断变化,我想让它的路径为 CmdLine 任务是基于安装的软件包版本的变量。比如说

script: 'F:\CSsyn\PKGNAME.$(PKGVERSION)\lib\net45\Runner.exe Run --arg1 test1 --arg2 test2

我做了一些调查,发现 一些任务可以引用其他任务的输出变量。NuGet任务 似乎没有任何输出变量(至少在我看来是这样)。有什么想法,我应该把它放在什么地方?$(PKGVERSION)?

解决方案:

我不知道你是否可以从NuGet任务中创建一个变量,但我有另一个想法,你可以使用PowerShell来获得的 .exe 带通配符的文件,然后运行它。

- powershell: |
   $file = Get-ChildItem "F:\CSsyn\*\lib\net45\Runner.exe"
   & $file Run --arg1 test1 --arg2 test2

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/4084.html

(0)
上一篇 2022年5月30日 上午11:00
下一篇 2022年5月30日 上午11:30

相关推荐

发表评论

登录后才能评论