如何选择Jenkins应该使用的Powershell版本?

pw9qyyiw  于 2022-11-02  发布在  Jenkins
关注(0)|答案(3)|浏览(181)

我正在使用this Powershell插件为我的Jenkins构建服务器。正如你所看到的,最近的一个更新允许选择Powershell版本:

我在服务器上运行的版本是1.7。当我试图实际更改Powershell的版本时,问题出现了,因为给出的示例使用脚本管道,而我的项目使用声明管道,因此缺少用于版本选择的内置选项。我如何才能强制Jenkins使用Powershell 7.2而不是默认的5.*?
我能想到的唯一解决方案是使用Powershell 5启动Powershell 7,然后像这样运行我的.ps1脚本,但这似乎 * 愚蠢 *。

dba5bblo

dba5bblo1#

在声明性和脚本化管道中,您都可以使用pwsh步骤在PS 7.x中运行脚本。

声明性:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                pwsh '''
                    Write-Host "foo"
                '''
            }
        }
    }
}

脚本:

node {
     pwsh '''
         Write-Host "foo"
     '''
}
ve7v8dk2

ve7v8dk22#

您可以将其设为条件式。只有在版本高于5.0时,此命令档才会以7.2版重新启动。
如果($PSVersionTable.PSVersion -〉[版本]“5.0”){
Powershell -版本7.2 -文件$我的调用.我的命令.定义
出口
}
'运行一些代码'
读取主机提示“脚本已完成:按任意键退出”

iugsix8n

iugsix8n3#

这对我很有效:
1.为Jenkins安装最新的powershell插件
1.找到文件“.\Jenkins\哈德逊.插件.Powershell. Powershell安装.xml
1.将“powershell.exe”替换为“pwsh.exe”(请参阅下面示例)--提供完整路径也可能有效
1.重新启动Jenkins

<hudson.plugins.powershell.PowerShellInstallation>    
<name>DefaultWindows</name>    
<home>powershell.exe</home>    
<properties/>

相关问题