我正在尝试从Jenkins运行PowerShell脚本,但是它似乎完全忽略了执行策略!通过直接执行powershell.exe或使用PowerShell插件来实现
附加信息:
Jenkins作为Windows服务运行(使用本地系统帐户,非交互式)。连接到该服务器并检查执行策略确实是RemoteSigned
:
PS C:\> whoami
nt authority\system
PS C:\> Get-ExecutionPolicy
RemoteSigned
PS C:\>
但是,在运行Jenkins构建时,情况并非如此。这是在Get-ExecutionPolicy -List
构建步骤中执行的输出:
d:\workspace\test-job>powershell Get-ExecutionPolicy -list
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
我还尝试从构建步骤明确设置它,什么也没有。
我想念什么?
经过两个多小时的梳理,问题出在x86 / x64上!!!
原来,Set-ExecutionPolicy
x64(默认)中的PowerShell对x86设置没有影响!
Jenkins是一个32位进程,从Windows服务运行-它执行x86 PowerShell!
此外,x86
PowerShell的Modules目录位于%systemroot%\SysWow64\WindowsPowerShell\1.0\Modules
,要记住的另一个重要事实!
问题内容: 我一直在网上和Stackoverflow上浏览,但是没有找到这个问题的答案。您将如何从Node.js执行Powershell脚本?该脚本与Node.js实例位于同一服务器上。 问题答案: 您可以仅生成一个子进程“ powershell.exe”,并侦听stdout的命令输出和stderr的错误:
问题内容: 如何从“脚本” 执行PowerShell ps1脚本? 我知道如何在package.json“ scripts”中设置基本脚本。例如,使用以下配置,我可以执行该命令,该命令将向控制台输出“这仅仅是测试”: 但是,我有一个更高级的场景,我想执行一个PowerShell脚本。像这样: 我可以通过scripts对象执行这样的ps1脚本吗?是否需要任何特殊的设置/配置?还有其他限制吗? 问题答
问题内容: 我正在尝试从Jenkins管道中的文件运行Powershell脚本。 我已经阅读了本文,该文章显示了如何运行输入到管道中的Powershell脚本,但是我无法从文件中运行脚本。 我努力了: 和各种组合,但无法弄清楚该如何做。 问题答案: 很快就弄清楚了,该行应该已经阅读
问题内容: 是否可以在管道常规脚本中直接调用PowerShell命令?在Jenkins中使用自定义作业时,我可以使用PowerShell插件调用该命令。但是在groovy脚本中没有片段可以使用它。 我也尝试过,但似乎此命令不允许在命令中包含多行和注释。 问题答案: 要从Groovy脚本调用PowerShell脚本,请执行以下操作: 您必须使用命令。 之后,您必须确保正确返回错误代码()变量(应导致
有人能解释jenkins中执行groovy脚本和执行系统groovy脚本之间的区别吗?以及如何使用执行系统groovy脚本将脚本调用到从属。
问题内容: 我正在通过Jenkins构建Qt GUI应用程序。我添加了3个构建步骤: 构建测试可执行文件 运行测试可执行文件 用gcovr编制覆盖率报告 由于某种原因,用于运行测试可执行文件的shell任务在执行后会停止。即使是简单的也不运行。测试是使用Google Test编写的,并输出xUnit XML文件,这些文件将在构建后进行分析。一些测试启动了应用程序的用户界面,因此我安装了jenkin