Проблема конфигурации CircleCI с MySQL - PullRequest
0 голосов
/ 24 апреля 2019

Я использую CircleCI для сборки своего приложения Ruby on Rails.

При создании приложения я получаю сообщение об ошибке

rails aborted!
Mysql2::Error::ConnectionError: Can't connect to local MySQL server through
socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

config.yml

version: 2
jobs:
  build:
    parallelism: 3
    docker:
      - image: circleci/ruby:2.6.2-stretch
        environment:
          BUNDLE_JOBS: 3
          BUNDLE_RETRY: 3
          BUNDLE_PATH: vendor/bundle
          PGHOST: 127.0.0.1
          PGUSER: circleci-demo-ruby
          RAILS_ENV: test
          MYSQL_ROOT_PASSWORD: password
          MYSQL_HOST: 127.0.0.1
          MYSQL_DB: rails_chat_tutorial
          MYSQL_USER: root
          MYSQL_ALLOW_EMPTY_PASSWORD: true
          MYSQL_PASSWORD:
      - image: mysql:5.7
        command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin --innodb-large-prefix=true --innodb-file-format=Barracuda
        environment:
          MYSQL_USER: root
          MYSQL_ALLOW_EMPTY_PASSWORD: true
    steps:
      - checkout
      - run: sudo apt-get install mysql-client
     
      
      # Which version of bundler?
      - run:
          name: Which bundler?
          command: bundle -v

      # Restore bundle cache
      - restore_cache:
          keys:
            - rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
            - rails-demo-bundle-v2-

      - run:
          name: Bundle Install
          command: bundle check || bundle install

      # Store bundle cache
      - save_cache:
          key: rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
          paths:
            - vendor/bundle

      - run:
          name: Wait for DB
          command: dockerize -wait tcp://localhost:3306 -timeout 1m

      - run:
          name: Mysql database
          command: mysql  -h 127.0.0.1 -u root  -e "create database rails_chat_tutorial;"    

      - run:
          name: Database setup
          command: bin/rails db:migrate

database.yml

default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: 

development:
  <<: *default
  database: rails_chat_tutorial
...