【问题标题】:Jenkins - Error when deploying EAR to IBM WebSphere Application ServerJenkins - 将 EAR 部署到 IBM WebSphere Application Server 时出错
【发布时间】:2018-09-22 12:44:04
【问题描述】:

(2018 年 5 月 8 日更新)

这是关于使用“WebSphere Deployer Plugin”将 EAR 部署到 Jenkins 中的 WebSphere Application Server 时在连接阶段遇到的问题。

系统信息:

[詹金斯]
詹金斯版本:2.107.2
java.runtime.version(从 Jenkins 管理 UI 中看到):1.8.0_144-b01

[Jenkins - WebSphere Deployer 插件]
版本:1.6.1
将相关 JAR 文件(从 C:\IBM\WebSphere\AppServer\runtimes 和 C:\IBM\WebSphere\AppServer\plugins)复制到 C:\Program Files (x86)\Jenkins\plugins\websphere-deployer\WEB-INF \lib.
单元/节点/服务器信息在插件配置中指定(与“显示可用目标”中显示的相同)。

[IBM WebSphere 应用程序服务器]
WAS 版本:9.0.0.7
Java版本:1.8.0_151
管理安全:已启用
应用程序安全性:已禁用
SOAP连接端口:8880(检查是否被防火墙阻止)
Telnet 到 8880 端口成功
通过8880端口命令行登录wsadmin成功

“测试连接”成功。不幸的是,在实际作业运行中,部署阶段仍然无法连接。

相关日志信息如下

[Jenkins 控制台日志/作业日志(显示在 Jenkins 管理 UI“控制台输出”中)]

12:48:31 连接到 IBM WebSphere Application Server...
12:48:31 以下工件将按此顺序部署...
12:48:31 -------------------------------------------------------
12:48: 36 [EAR 文件路径] 最后修改于 2018 年 5 月 8 日 12:47:56
12:48:36 -------------------------------------------------------
12:48: 59 工件正在部署到虚拟主机:default_host
12:49:08 部署到 IBM 时出错 WebSphere Application Server:无法确定是否为工件 '[App name]' 已安装:AdminException:
12:49:08 Performing '[App name]'的回滚
12:49:08 警告:工件不存在 回滚存储库
12:49:08 构建步骤“部署到 IBM WebSphere” 应用服务器的构建结果更改为 FAILURE
12:49:12 完成: 失败

[Jenkins 错误日志 (C:\Program Files (x86)\Jenkins\jenkins.err.log)]

2018 年 5 月 8 日下午 12:43:47 hudson.WebAppMain$3 运行
信息:Jenkins 是 完全启动并运行
2018 年 5 月 8 日 12:43:53 PM javax.jmdns.impl.DNSStatefulObject$DefaultImplementation waitForAnnounced 警告:等待宣布超时:DNS: [主机名]。状态:宣布 2 任务:播音员([主机名]) 状态:宣布
2018 年 5 月 8 日 12:45:52 PM com.ibm.websphere.management.AdminClientFactory
警告:ADMC0046W: 系统无法从 com.ibm.SOAP.configURL 加载属性: 文件:null/properties/soap.client.props
2018 年 5 月 8 日 12:45:54 PM com.ibm.ws.ssl.config.SSLConfigManager
信息:CWPKI0051I:进程 将 java 安全属性 jdk.certpath.disabledAlgorithms 设置为 [MD2, MD5, SHA1 jdkCA & 使用 TLSServer, RSA keySize 2018 年 5 月 8 日下午 12:45:54 com.ibm.ws.ssl.config.SSLConfigManager
信息:CWPKI0051I:进程 将 java 安全属性 jdk.tls.disabledAlgorithms 设置为 [SSLv3, RC4, MD5withRSA, DH keySize 2018 年 5 月 8 日下午 12:45:54 com.ibm.ws.ssl.config.SSLConfigManager
信息:CWPKI0027I:禁用 HTTPS URL 连接的默认主机名验证。
2018 年 5 月 8 日 下午 12:45:54 com.ibm.ws.security.config.SecurityObjectLocator
信息: CWSCF0002I: 客户机代码正在尝试装入安全性 配置服务器,不允许此操作。
5 月 8 日, 2018 年下午 12:45:56 com.ibm.ws.security.config.SecurityObjectLocator
INFO: CWSCF0002I: 客户机代码正在尝试装入安全性 配置服务器,不允许此操作。
5 月 8 日, 2018 年 12:46:06 PM com.ibm.websphere.management.AdminClientFactory
WARNING: ADMC0046W: 系统未能从 com.ibm.SOAP.configURL:file:null/properties/soap.client.props
5 月 8 日, 2018 下午 12:46:32 org.jenkinsci.plugins.github.webhook.WebhookManager$1 运行
信息:已为作业 [Jenkins 作业名称] 激活 GitHub 网络钩子 [GitHubRepositoryName[host=github.com,username=[GitHub 用户名],repository=[GitHub 存储库]]] (活动:[PUSH])
2018 年 5 月 8 日 12:46:37 PM com.squareup.okhttp.internal.Platform$JdkWithJettyBootPlatform getSelectedProtocol
信息:ALPN 回调已删除:SPDY 和 HTTP/2 是 禁用。 alpn-boot 在引导类路径上吗?
May 08, 2018 12:48:31 PM hudson.model.Run execute INFO: [Jenkins Job name] #38 main build action completed: SUCCESS
May 2018 年 8 月 8 日下午 12:48:31 com.ibm.websphere.management.AdminClientFactory
WARNING: ADMC0046W: 系统未能从 com.ibm.SOAP.configURL:file:null/properties/soap.client.props
5 月 8 日, 2018 下午 12:48:50 com.squareup.okhttp.internal.Platform$JdkWithJettyBootPlatform getSelectedProtocol
信息:ALPN 回调已删除:SPDY 和 HTTP/2 是 禁用。 alpn-boot 在引导类路径上吗?
com.ibm.websphere.management.exception.AdminException:
在 com.ibm.websphere.management.application.AppManagementProxy.proxyInvoke(AppManagementProxy.java:192)
在 com.ibm.websphere.management.application.AppManagementProxy.checkIfAppExists(AppManagementProxy.java:269)
在 org.jenkinsci.plugins.websphere.services.deployment.WebSphereDeploymentService.isArtifactInstalled(WebSphereDeploymentService.java:468)
在 org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.stopArtifact(WebSphereDeployerPlugin.java:409)
在 org.jenkinsci.plugins.websphere_deployer.WebSphereDeployerPlugin.perform(WebSphereDeployerPlugin.java:245)
在 hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
在 hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
在 hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
在 hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
在 hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) 在 hudson.model.Run.execute(Run.java:1752)
在 hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
在 hudson.model.ResourceController.execute(ResourceController.java:97) 在 hudson.model.Executor.run(Executor.java:429)
原因: java.lang.reflect.UndeclaredThrowableException
在 com.sun.proxy.$Proxy67.invoke(Unknown Source)
at com.ibm.ws.management.AdminClientImpl.invoke(AdminClientImpl.java:224)
在 com.ibm.websphere.management.application.AppManagementProxy.proxyInvoke(AppManagementProxy.java:186) ... 13 更多
原因:[SOAPException: faultCode=SOAP-ENV:ServerException; msg=Soap RPC 调用不能 被解组。]
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.handleAdminFault(SOAPConnectorClient.java:959)
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplateOnce(SOAPConnectorClient.java:924)
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:689)
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.invokeTemplate(SOAPConnectorClient.java:679)
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:665)
在 com.ibm.ws.management.connector.soap.SOAPConnectorClient.invoke(SOAPConnectorClient.java:487) ... 16 更多

[WAS 控制台日志 (SystemOut.log) (C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1\SystemOut.log)]

[5/8/18 12:49:00:183 CST] 000000f7 LTPAServerObj E SECJ0369E: 使用 LTPA 时认证失败。例外是 com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4513E 'WASadmin' 主体的密码匹配失败 名称..
[5/8/18 12:49:00:332 CST] 000000f6 LTPAServerObj E SECJ0369E: 使用 LTPA 时认证失败。例外是 com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4513E 'WASadmin' 主体的密码匹配失败 名称..
[5/8/18 12:49:04:291 CST] 000000f7 LTPAServerObj E SECJ0369E: 使用 LTPA 时认证失败。例外是 com.ibm.websphere.wim.exception.PasswordCheckFailedException: CWWIM4513E 'WASadmin' 主体的密码匹配失败 名称..
[5/8/18 12:49:07:221 CST] 000000f7 FFDCJanitor I com.ibm.ws.ffdc.impl.FFDCJanitor doCleanupIfNeeded FFDC0004I: FFDC 日志 文件管理删除了 20 个已到达其位置的文件中的 20 个 配置的最大年龄
[5/8/18 12:49:07:486 CST] 000000f7 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider 日志事件 FFDC1003I:FFDC 事件发出于 C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_f7987cd2_18.05.08_12.49.07.2212966399582449208005.txt 无法验证传入请求 534
[5/8/18 12:49:07:489 CST] 000000f7 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC 事件在 C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_f7987cd2_18.05.08_12.49.07.4884954440341702141044.txt com.ibm.ws.management.connector.soap.SOAPUtils.extractSoapCall 157
[5/8/18 12:49:07:716 CST] 000000f7 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I:FFDC 事件 发射于 C:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\ffdc\server1_f7987cd2_18.05.08_12.49.07.4909017290418303421157.txt com.ibm.ws.management.connector.soap.SOAPConnector.service 212

【问题讨论】:

  • NoSuchAlgorithmException - 看起来像是 SSL 配置错误。尝试为 TLS 配置您的 Jenkins JVM,并检查您的 WebSphere 上的 SSL 设置。
  • 插件绕过 com.ibm.SOAP.configURL 环境变量。这是为了简化配置,因此您不必包含soap.client.props 或ssl.client.props 或tmjx jar。它们不是必需的,可以忽略,因为插件直接在内部设置它需要的值。
  • @Patrick C:你解决了这个错误吗?我也遇到了这个问题

标签: java ssl jenkins continuous-integration websphere


【解决方案1】:

刚刚发布了v1.5.6,请尝试升级到这个版本。如果您选择以下选项,您将不再需要处理证书。

【讨论】:

  • 谢谢。我听从了建议,但没有运气......不知道是不是 SSL 证书没问题,但其他一些配置不正确。
  • 刚刚发布了 v1.6.0 试图解决这个问题。请务必遵循更新的配置规范。其次,我会更新到 WAS v9.0.0.7。更新 WAS 后,您必须将 /runtimes 和 /plugins(请参阅文档)中更新的 jar 复制到您的 websphere-deployer/WEB-INF/lib 文件夹。随时通知我
  • 已按照建议更新了 WebSphere Deployer 插件和 WAS,但仍面临问题。相关细节如上,谢谢。
  • @PatrickC。刚刚发布了针对空指针的修复程序。适当地更新线程,以便可以跟踪此问题。感谢您的努力。
  • @PatrickC。在您的屏幕截图中,您似乎有默认的“部署目标”。您需要将其替换为从“显示可用目标”返回的值。 “部署目标”设置中的默认值只是用作占位符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 2014-11-30
  • 2014-08-29
  • 1970-01-01
  • 2012-03-17
  • 1970-01-01
相关资源
最近更新 更多