无法将go app连接到mysql(两者都在gitlab运行器中)

时间:2018-05-07 18:07:54

标签: mysql go gitlab-ci-runner

go app只是在mysql表中插入一个harcoded值并将其吐出来。这是使用this database driver完成的。它在linux服务器上运行良好,但在gitlab的CI中,它会返回:

dial tcp 127.0.0.1:3306: connect: connection refused

这是.gitlab-ci.yml

image: mysql
services:
  - mysql:latest
variables:
  MYSQL_DATABASE: storage
  MYSQL_ROOT_PASSWORD: root
  MYSQL_HOST: mysql
  MYSQL_USER: root
  MYSQL_TRANSAPORT: tcp
  MYSQL_ADDRESS: "127.0.0.1:3306"
job:
  script:
    - apt-get update -qq && apt-get install -qq curl && apt-get install -qq git
    - echo "SHOW GLOBAL VARIABLES LIKE 'PORT';" | mysql --user="$MYSQL_USER" --password="$MYSQL_ROOT_PASSWORD" --host="$MYSQL_HOST" "$MYSQL_DATABASE"
    - curl -O https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz
    - tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz
    - rm go1.10.1.linux-amd64.tar.gz
    - echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
    - echo "export GOPATH=\$HOME/go" >> ~/.bashrc
    - echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.bashrc
    - source ~/.bashrc
    - go get github.com/go-sql-driver/mysql
    - go build main.go
    - ./main

在CI期间,有没有一种标准的方法可以从golang使用mysql?

0 个答案:

没有答案