通过jdbc连接GitLab-ci MySQL服务

xxls0lw8  于 2023-04-19  发布在  Mysql
关注(0)|答案(1)|浏览(98)

在gitlab-ci CI/CD中,在我的测试过程中,我创建了一个MySQL服务并填充它。在第一个配置步骤之后,我想使用JDBC连接启动一组测试脚本。我不知道gitlab-ci mysql服务使用的IP地址和端口。
这是我的gitlab-ci:

variables:
    MYSQL_ALLOW_EMPTY_PASSWORD: "true"
    MYSQL_DATABASE: ticketsDB
  services:
    - name: mysql:5.7
      alias: ticketDBalias
  script:
     - apt-get update && apt-get install -y git curl libmcrypt-dev default-mysql-client
     - mysql --version
     - sleep 20
     - mysql --protocol=tcp -u root -h mysql -e "create database ticketOnline; use ticketOnline;"

我尝试了下面的配置jdbc,没有任何结果:
Copyright © 2018 - 2019 www.jdbc.com版权所有
Copyright © 2018 - 2019 www.jdbc.com版权所有

Configuration error[Cannot connect to database [db]], took 0.0 sec

我该怎么解决呢?

4si2a6ki

4si2a6ki1#

使用主机名mysql

url="jdbc:mysql://mysql:3306/ticketOnline?useTimezone=true&serverTimezone=UTC&requireSSL=true"

默认情况下,服务接收的网络别名与服务使用的映像同名。在本例中,为mysql
您还可以在配置中为服务设置显式主机名别名:

services:
  - name: "mysql:5.7"
    alias: "my-db-hostname"

在这种情况下,您将使用my-db-hostname作为连接字符串中的主机名。
顺便说一句……从技术上讲,可以将别名设置为localhost,但这会非常令人困惑,并可能导致问题,所以最好避免这样做!

相关问题