无法 运行 在 Bluemix Build & Deploy Pipeline 中进行单元测试,因为服务器无法连接到 ClearDB MySQL
Can't run unit tests in Bluemix Build & Deploy Pipeline because the servers can't connect to ClearDB MySQL
已解决!
看来 Bluemix 中的管道服务已更新,与 ClearDB 的连接现在运行良好!感谢推动这一变化的人! :)
--
我是 运行 Bluemix 构建和部署管道中的代码,而不是 Liberty Profile 应用程序服务器中的代码(应用程序在那里运行良好),问题出在管道的构建阶段(mvn clean安装),而 运行 我的单元测试,这是错误消息
Building new Hibernate SessionFactory 2015-04-11 15:04:49 [main] ERROR
o.h.util.JDBCExceptionReporter - Communications link failure
The last packet sent successfully to the server was 0 milliseconds
ago. The driver has not received any packets from the server.
单元测试 classes 无法连接到数据库。
我的代码没有什么特别之处,您可以在 JUnit 测试中创建任何标准 JDBC 连接 class 并尝试与数据库建立连接,但如果您想轻松确认此连接限制,这里是您可以在没有任何 Java 代码的情况下进行测试的方法:
- 使用一些入门代码创建 Liberty Profile 应用程序
- 创建并绑定“ClearDB MySQL”服务
- 在“App Overview”页面中,通过单击“Show
凭据”并复制主机名(例如,
us-cdbr-test-west-07.cleardb.net).
- 添加GIT,回到App Overview,点击EDIT CODE,点击
“Build & Deploy”,点击“BUILD”的配置图标
Stage", select "Configure Stage" 并将以下代码添加到
命令框:
代码
REMOTEHOST=us-cdbr-test-west-07.cleardb.net
REMOTEPORT=3306
TIMEOUT=1
if nc -w $TIMEOUT -z $REMOTEHOST $REMOTEPORT; then
echo "I was able to connect to ${REMOTEHOST}:${REMOTEPORT}"
else
echo "Connection to ${REMOTEHOST}:${REMOTEPORT} failed; exit code from netcat was $?"
fi
- 启动 BUILD 阶段并检查是否显示此消息:
[86d18f86-4ade-4e02-8282-171dc9757272] $ /bin/bash /tmp/hudson5506792757013948518.sh
Connection to us-cdbr-test-west-07.cleardb.net:3306 failed; exit code from netcat was 1
请告知是否有配置管道以便它可以与 ClearDB 通信的方法。
Bluemix 中的管道服务已更新,修复了此错误。与 "ClearDB" 服务的连接现在应该可以正常工作。
已解决!
看来 Bluemix 中的管道服务已更新,与 ClearDB 的连接现在运行良好!感谢推动这一变化的人! :)
--
我是 运行 Bluemix 构建和部署管道中的代码,而不是 Liberty Profile 应用程序服务器中的代码(应用程序在那里运行良好),问题出在管道的构建阶段(mvn clean安装),而 运行 我的单元测试,这是错误消息
Building new Hibernate SessionFactory 2015-04-11 15:04:49 [main] ERROR o.h.util.JDBCExceptionReporter - Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
单元测试 classes 无法连接到数据库。
我的代码没有什么特别之处,您可以在 JUnit 测试中创建任何标准 JDBC 连接 class 并尝试与数据库建立连接,但如果您想轻松确认此连接限制,这里是您可以在没有任何 Java 代码的情况下进行测试的方法:
- 使用一些入门代码创建 Liberty Profile 应用程序
- 创建并绑定“ClearDB MySQL”服务
- 在“App Overview”页面中,通过单击“Show 凭据”并复制主机名(例如, us-cdbr-test-west-07.cleardb.net).
- 添加GIT,回到App Overview,点击EDIT CODE,点击 “Build & Deploy”,点击“BUILD”的配置图标 Stage", select "Configure Stage" 并将以下代码添加到 命令框:
代码
REMOTEHOST=us-cdbr-test-west-07.cleardb.net
REMOTEPORT=3306
TIMEOUT=1
if nc -w $TIMEOUT -z $REMOTEHOST $REMOTEPORT; then
echo "I was able to connect to ${REMOTEHOST}:${REMOTEPORT}"
else
echo "Connection to ${REMOTEHOST}:${REMOTEPORT} failed; exit code from netcat was $?"
fi
- 启动 BUILD 阶段并检查是否显示此消息:
[86d18f86-4ade-4e02-8282-171dc9757272] $ /bin/bash /tmp/hudson5506792757013948518.sh Connection to us-cdbr-test-west-07.cleardb.net:3306 failed; exit code from netcat was 1
请告知是否有配置管道以便它可以与 ClearDB 通信的方法。
Bluemix 中的管道服务已更新,修复了此错误。与 "ClearDB" 服务的连接现在应该可以正常工作。