enter code here
我正在尝试使用 jenkins ec2 插件,但遇到性能问题。
我对 winrm 的选择:
winrm set winrm/config/service/Auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="1024"}
詹金斯 2.133 操作系统 Windows 2016r2 Java 8 x64
我接下来的步骤花了很多时间:
11:47:48 Building remotely on zak-test (sir-4pcr5aig) (zak-test) in workspace c:\jenkins\workspace\AT_PES_test_zak
11:58:48 Cloning the remote Git repository
下一步
12:07:52 Parsing POMs
12:39:51 Established TCP socket on 49811
当我使用 JNLP 协议而不是 WinRm 时,我的测试可以正常工作,不会出现这些暂停。快点。
此外,我创建了任务 https://issues.jenkins-ci.org/browse/JENKINS-53617 但我没有收到回复。
然后,我使用本地 Windows 用户 jenkins 从 master 连接到 Windows Agent ec2 实例。我通过谷歌浏览器启动了 GUI 测试。当测试工作时,我通过 RDP 连接到我的代理 Windows 主机,并且我看到 chrome 正在后台工作。但我没有将我的浏览器视为 GUI 进程。仅在 powershell 中:
PS C:\Users\jenkins> get-process
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
181 10 46960 15820 1512 0 amazon-ssm-agent
123 10 1784 8624 740 0 chrome
251 20 18392 30260 0.11 2228 0 chrome
246 20 18388 30584 0.13 3276 0 chrome
1008 55 21552 72832 3444 0 chrome
154 10 1860 7884 4600 0 chrome
403 21 15368 23840 0.19 5840 0 chrome
226 20 6680 12320 1396 0 chromedriver
WinRM 是一个缓慢的协议。尽管这个插件对于使用 Linux 实例来说非常舒服。
我也遇到了这个问题,就像@ZakShirak 所说,WinRM 真的很慢而且不太好。
我通过连接并配置 Windows 实例作为 Linux ssh 实例运行解决了这个问题。 (在 ec2-plugin 配置中)
我将前缀命令编辑为:“java -Djava.io.tmpdir=C: emp -jar C:\jenkins emoting.jar -workDir C:\jenkins &rem" (使用 &rem ,因此插件插入命令的所有内容都将被忽略)