无法在Bluemix Build&Deploy Pipeline中运行单元测试,因为服务器无法连接到ClearDB MySQL

the*_*o_r 6 mysql unit-testing maven devops ibm-cloud

解决了!

看起来Bluemix中的管道服务已经更新,与ClearDB的连接现在运行得非常好!感谢无论谁推动这一变化!:)

-

我在Bluemix构建和部署管道中运行代码,不在Liberty Profile应用服务器内部(应用程序在那里工作正常),问题在于管道的构建阶段(mvn clean install),同时运行我的单元测试,这里是错误消息

构建新的Hibernate SessionFactory 2015-04-11 15:04:49 [main] ERROR ohutil.JDBCExceptionReporter - 通信链接失败

成功发送到服务器的最后一个数据包是0毫秒前.驱动程序未收到来自服务器的任何数据包.

单元测试类无法连接到数据库.

我的代码没有任何特殊之处,您可以在JUnit Test类中创建任何标准JDBC连接并尝试与db建立连接,但如果您想轻松确认此连接限制,那么您可以在没有任何Java的情况下测试它码:

  • 使用一些入门代码创建Liberty Profile应用程序
  • 创建并绑定"ClearDB MySQL"服务
  • 在App Overview页面中,通过单击"Show Credentials"展开ClearDB框并复制主机名(例如,us-cdbr-test-west-07.cleardb.net).
  • 添加GIT,返回App Overview,单击EDIT CODE,单击"Build&Deploy",单击"BUILD Stage"的配置图标,选择"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
Run Code Online (Sandbox Code Playgroud)
  • 启动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
Run Code Online (Sandbox Code Playgroud)

请告知是否有办法配置管道,以便它可以与ClearDB通信.

Jam*_*mas 1

Bluemix 中的管道服务已更新,修复了此错误。与“ClearDB”服务的连接现在应该可以正常工作。