具有Powershell的Jenkinsfile。需要帮助处理引号,三重双引号和转义字符

时间:2020-02-28 15:06:50

标签: powershell jenkins jenkins-pipeline jenkins-groovy

美好的一天,

我一直在努力处理三重双引号,三重单引号,转义引号...

我需要执行一个带引号的Powershell命令。

我有什么:

testsDll = powershell(returnStdout: true, script: '((Get-ChildItem -Path $env:WORKSPACE\\src\\Web\\*Unit.Tests.dll -Recurse) -join " ")').trim()

TestDllWithParameters = "$testsDll" + " /TestAdapterPath:" + "${env.WORKSPACE}" + "\\src\\Web\\packages\\NUnit3TestAdapter.3.16.1 /Logger:trx;LogFileName=Web123456.trx /TestCaseFilter:TestCategory!=DEADLOCK^&TestCategory!=QUARANTINE^&TestCategory!=Quarantine^&TestCategory!=NotImplemented^&TestCategory!=InProgress^&TestCategory!=INTEGRATION^&TestCategory!=Integration"
VSCodeExeFullPath =  "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" 

env.VSTESTEXITCODE_WEB = powershell(returnStatus: true, script: """
   Start-Process "$VSCodeExeFullPath" -ArgumentList "$TestDllWithParameters" -NoNewWindow
""")'

可变插值工作。我的问题是我想保留$VSCodeExeFullPath$TestDllWithParameters周围的引号,因为两者都包含空格。

谢谢!

0 个答案:

没有答案