Java 使用JNLP的Jenkins Slave需要安全提示
我们使用Jenkins在不同的虚拟机中驱动自动化GUI测试。操作系统是Win7/64和其他Windows变体。虚拟机使用JNLP方式连接到Jenkins主机。无法切换到其他连接,因为作业必须使用GUI执行程序 由于安全性要求的提高,Java现在发出一个对话框来确认Jenkins远程代理的执行。这显然破坏了测试的自动执行。此对话框每24小时显示一次。把这段时间延长到一年也能解决我们的问题 提供的细节涉及不同方面,如 应用程序的关联文件(JNLP)没有数字签名 我们尝试了不同的Java版本(7u67、Java8U11和8u20)和不同的安全设置 Jenkins是最新的stable 1.565.1(尝试了更新和新安装的版本)。新安装的最新Jenkins 1.576也进行了尝试 这个问题在我们这边可以解决还是只有詹金斯这边可以解决?Java 使用JNLP的Jenkins Slave需要安全提示,java,jenkins,continuous-integration,automated-tests,jnlp,Java,Jenkins,Continuous Integration,Automated Tests,Jnlp,我们使用Jenkins在不同的虚拟机中驱动自动化GUI测试。操作系统是Win7/64和其他Windows变体。虚拟机使用JNLP方式连接到Jenkins主机。无法切换到其他连接,因为作业必须使用GUI执行程序 由于安全性要求的提高,Java现在发出一个对话框来确认Jenkins远程代理的执行。这显然破坏了测试的自动执行。此对话框每24小时显示一次。把这段时间延长到一年也能解决我们的问题 提供的细节涉及不同方面,如 应用程序的关联文件(JNLP)没有数字签名 我们尝试了不同的Java版本(7u6
有什么办法可以解决这个问题吗?解决这个问题的办法是使用。主要的困难是在正确的位置创建和存储证书 这是解决上述问题的分步指南
"C:\Program Files\Java\jre7\bin\keytool.exe" -genkeypair -alias selfsigned -keyalg RSA -keypass changeit -keystore identity.jks -storepass changeit -startdate "2000/01/01 00:00:00" -validity 18262 -keysize 2048
"C:\Program Files\Java\jre7\bin\keytool.exe" -exportcert -alias selfsigned -file Our_CA.cer -keystore identity.jks -storepass changeit
"C:\Program Files\Java\jdk1.7.0_67\bin\jar.exe" -cvf DeploymentRuleSet.jar ruleset.xml
"C:\Program Files\Java\jdk1.7.0_67\bin\jarsigner.exe" -keystore "identity.jks" -signedjar "DeploymentRuleSet.jar" DeploymentRuleSet.jar selfsigned
verify jar:
"C:\Program Files\Java\jdk1.7.0_67\bin\jarsigner.exe" -verify -keystore "identity.jks" -verbose -certs DeploymentRuleSet.jar
C:\Users\\AppData\LocalLow\Sun
(和Oracle)
删除C:\Jenkins Slave\
中除批处理启动Jenkins Slave之外的所有文件这在OS X下工作,但DeploymentRuleSet.jar位于
/Library/Application Support/Oracle/Java/Deployment
中。