groovy脚本支持PowerShell语法吗?我有一个PowerShell脚本,我想在Jenkins管道中使用。我在“生成管道脚本”下找不到任何PowerShell模块。
hgtggwj01#
当然不是。PowerShell是一种与Groovy完全不同的脚本语言。如果您有PowerShell解释器并且Jenkins管道脚本允许调用它,则可以通过Groovy执行PowerShell脚本。
qyswt5oh2#
这完全取决于你想做什么。如果你有一个现成的构建脚本,你想把它转换成Jenkins pipeline,你通常会想把它转换成Jenkinsfile风格的groovy。但是如果你有一个脚本想调用它,有一个标准的步骤来完成它。重要的是要意识到这是一个单一的步骤,但这可能是你想做的。正如前面所说,这要看情况而定。
m0rkklqb3#
基于问题,这些答案有点令人困惑。你能在Jenkins管道中运行PowerShell吗?当然他们的警告和奇怪的捕获是为了让Groovy正确地插入脚本吗?是的!我认为您只能在基于Windows的Jenkins主机或构建节点上运行PowerShell(即使您可以在所有 *nix机器上运行pwsh)。要做到这一点,您只需在管道步骤中调用powershell而不是sh。
powershell
sh
powershell """ Write-Host "PowerShell stuff in the pipeline" Write-Host "Because escaping vars can get gnarly I do this..." Set-Variable -Name "LonghandVar" -Value "Some Value" """
3条答案
按热度按时间hgtggwj01#
当然不是。PowerShell是一种与Groovy完全不同的脚本语言。如果您有PowerShell解释器并且Jenkins管道脚本允许调用它,则可以通过Groovy执行PowerShell脚本。
qyswt5oh2#
这完全取决于你想做什么。如果你有一个现成的构建脚本,你想把它转换成Jenkins pipeline,你通常会想把它转换成Jenkinsfile风格的groovy。但是如果你有一个脚本想调用它,有一个标准的步骤来完成它。重要的是要意识到这是一个单一的步骤,但这可能是你想做的。正如前面所说,这要看情况而定。
m0rkklqb3#
基于问题,这些答案有点令人困惑。
你能在Jenkins管道中运行PowerShell吗?当然
他们的警告和奇怪的捕获是为了让Groovy正确地插入脚本吗?是的!
我认为您只能在基于Windows的Jenkins主机或构建节点上运行PowerShell(即使您可以在所有 *nix机器上运行pwsh)。要做到这一点,您只需在管道步骤中调用
powershell
而不是sh
。