Я использую 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