【问题标题】:Powershell call works on server but returns error through jenkinsPowershell调用在服务器上有效,但通过jenkins返回错误
【发布时间】:2019-12-14 20:49:35
【问题描述】:

我们最近获得了一些新的 Windows Server 2019 机器,我想将它们添加到我们的 Jenkins 设置中。问题是: 执行任何外部程序都会导致错误。 docker login, git status, java -version 都会报这样的错误

[TestPowershell] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Users\XXX~1\AppData\Local\Temp\3\jenkins1416755497082623783.ps1'"
java : java version "1.8.0_101"
At C:\Users\XXX-sa\AppData\Local\Temp\3\jenkins1416755497082623783.ps1:1 char:1
+ java -version
+ ~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (java version "1.8.0_101":String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Java(TM) SE Runtime Environment (build 1.8.0_101-b13
)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
Notifying upstream projects of job completion
Finished: SUCCESS

在服务器上试过,效果很好。所有设置与我们 2016 年的服务器相同,不会出现此问题

编辑:我在 VM 2019 上设置了一个 vanilla master,它可以在没有此错误的情况下工作,但仍然会在 2016 master 上出现错误。

【问题讨论】:

  • 检查 jenkins 服务,它在哪个用户下运行.. ?在该用户下尝试相同的操作...
  • 在同一个用户下尝试过,这是一个管理员,它在服务器上工作正常,只在 jenkins 上失败。可能与devblogs.microsoft.com/powershell/… 有关,但在我的服务器上找不到特定的安全补丁
  • 使用Start-Transcript 记录环境和其他一些细节,然后运行脚本检查日志..
  • 编辑:我在 VM 2019 上设置了一个 vanilla master,它没有这个错误,但仍然会在 2016 master 上出现错误。
  • 我刚看到你的成绩单文件,你能提供powershell的一部分吗?

标签: windows powershell jenkins windows-server-2019


【解决方案1】:

由于某种原因,这似乎与 dotnet 4.8 有关。 Windows 2019 1809 附带 4.7,它会出现这个奇怪的错误,它不仅发生在 java -version 上,而且 git clone 、 npm install 和 ng build 等等也会导致同样的错误。安装 dotnet framework 4.8 修复它..以防万一有人遇到与我们相同的问题..

【讨论】:

    【解决方案2】:

    默认jenkins-slave 服务在SYSTEM 用户下运行,例如: git 操作将失败,因为缺少用户凭据。

    在 Windows service control manager 中,将jenkins-slave-service(属性-登录)的用户更改为具有相应权限的用户配置文件。

    希望对您有所帮助。

    【讨论】:

    • 它在我们 2016 年服务器运行的同一管理员下运行。仍然失败
    • 编辑:我在 VM 2019 上设置了一个 vanilla master,它没有这个错误,但仍然会在 2016 master 上出现错误。
    • 正如@NirajGajjar 建议的那样,您应该在 Jenkins 步骤中打开 PowerShell 脚本,或者至少通过 gci env: 转储环境。
    • 我做了,它没有给我任何关于可能是什么问题的迹象。
    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多