当jenkins没有DB时,从Jenkins Pipeline访问远程数据库

问题描述 投票:0回答:1

我必须从Jenkins访问云代工数据库。为此,我已将Cloud Foundry SQL端口转发到Jenkins本地端口。

在Jenkins上,我安装了数据库和SQl插件并尝试连接localhost:3306端口。但是,它给出了以下错误:

ERROR 2003(HY000):无法连接到'127.0.0.1'上的MySQL服务器(111)

  • cf ssh app-name -L 3306:192.168.32.29:3306 [Pipeline] sh
  • mysql -h 127.0.0.1 -P 3306 -u user-name -ppassword db-name ERROR 2003(HY000):无法连接到'127.0.0.1'上的MySQL服务器(111)
mysql jenkins jenkins-pipeline cloudfoundry
1个回答
0
投票

我找到了解决方案,它发生了,因为cf ssh app-name -L 3306:192.168.32.29:3306正在执行,然后在运行下一个命令之前终止ssh。

所以在我的情况下,mysql无法找到链接到该端口的任何数据库。

要解决这个问题,我必须在后台运行第一个ssh命令并运行下一个mysql命令。

cf ssh $ {appName} -N -L 3306:$ {db_ip}:3306&mysql -h 127.0.0.1 -P 3306 -u user-name -ppassword db-name <'mysqlstatements.sql'

操作完成后,我们可以使用kill命令关闭后台命令

© www.soinside.com 2019 - 2024. All rights reserved.