2015-04-13 4 views
5

SOLVED!Невозможно запустить модульные тесты в Bluemix Build & Deploy Pipeline, потому что серверы не могут подключаться к ClearDB MySQL.

Похоже, что обслуживание трубопровода в Bluemix обновлено, подключение к ClearDB прекрасно работает сейчас! Благодаря тому, кто толкнул это изменение! :)

-

Я бегу код в Bluemix построить & трубопровод Deploy, а не внутри сервера профиля приложения Liberty (приложение отлично работает там), проблема лежит на BUILD стадии трубопровода (МВН чистой установки) во время выполнения своих модульных тестов, вот сообщение об ошибке

Строительство нового Hibernate SessionFactory 2015-04-11 15:04:49 [главный] оШИБКА ohutil.JDBCExceptionReporter - связь отказ канала

Последний пакет, успешно отправленный на сервер, составлял 0 миллисекунд . Драйвер не получил никаких пакетов с сервера.

К классу Unit Test нельзя подключиться к базе данных.

В моем коде нет ничего особенного, вы можете создать любое стандартное соединение JDBC в классе JUnit Test и попытаться установить соединение с db, но если вы хотите легко подтвердить это ограничение соединения, вот как вы можете протестировать это без какого-либо кода Java:

  • Создайте Liberty Профиль приложение с некоторыми Starter код
  • Создание и связать службу «ClearDB MySQL» к нему
  • на странице App Обзор, расширить поле ClearDB, нажав on "Показать Учетные данные" и скопировать имя хоста (например, us-cdbr-test-west-07.cleardb.net).
  • Добавить GIT, обратно в App Обзор, нажмите на код редактирования, нажмите на «Build & Deploy», нажмите на значок конфигурации «Построить Stage», выберите «Настройка 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 Stage и проверить, если это сообщение появляется:
[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.

+6

Сегодня серверы сборки и развертывания ограничены исходящими подключениями к портам 80 и 443. В настоящее время мы изучаем возможность ослабления этого ограничения на этих серверах сборки и при этом сохраняем требуемое соответствие безопасности.Мы признаем, что это большое ограничение, которое необходимо решить. Спасибо за ваш отчет об ошибке. Брайан К. Мартин IBM Bluemix Development –

+0

Можем ли мы разрешить машинам общаться, по крайней мере, с службами БД, привязанными к конвейеру APP? Или, может быть, все исходящие запросы на порт 3306? - Любая идея, когда такие изменения могут быть введены? – theMarceloR

+0

Вы должны добавить свое «решительное» обновление в качестве ответа и принять его. – jpapejr

ответ

1

Была обновлена ​​служба трубопровода в Bluemix, которая исправила эту ошибку. Теперь необходимо подключиться к сервису «ClearDB».