我刚开始使用Jenkinsfile管道语法,所以这可能是我在功能指南中忽略的。我有一个脚本,它运行一个文本块作为powershell脚本,它工作正常,但我想格式化文件与领先的白色空间,以使所有内容排队但是有实际执行的代码修剪了白色空间。主要是我的痛点是" @ line,其中powershell要求它没有领先的白色空间,所以它本身就是孤独的。
script {
def ps_out = powershell(returnStdout: true, script: '''
$pass = "$env:Remoting_Password" | ConvertTo-SecureString -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PsCredential("$env:Remoting_Username",$pass)
$scriptBlock = @"
if (-Not(Get-WmiObject -Class Win32_Service -Filter "Name=\'$env:ServiceName\'"))
{
If ((Get-Service $env:ServiceName).Status -eq 'Running') {
Stop-Service -Name $env:ServiceName
}
}
"@
$sb = [scriptblock]::Create($scriptBlock)
Write-Output "--Script block Start--"
Write-Output $sb.ToString()
Write-Output "--Script block End--"
$sess = New-PSSession -ComputerName $env:TargetServer -Credential $Cred
Invoke-Command -Session $sess -ScriptBlock $sb
Remove-PSSession -Session $sess
''')
println ps_out
}