開発環境構築 Rails Docker Rspec
Dockerfileを用意する。
railsプロジェクトを作成。ドットの意味→app/以下
既存ファイルを上書きするオプション→gemfilegemfilelockを上書きして作成するために必要。
docker-compose run web rails new . --force --database=mysql
gemfileの内容をコンテナ内に取り込む。
docker-compose build
config/database/yml
password: password
host: db
2つのコンテナの起動
docker-compose up -d
開発環境用のDBの作成
docker-compose run web bundle exec rails db:create
実行結果
Starting docker-files22_db_1 ... done
Created database 'app_development'
Created database 'app_test'
Rspecの導入
Gemfileの導入
Gemfile
group :development, :test do
gem 'rspec-rails'
'
'
'
end
Rspecの設定
Rspecをインストール->execだめだった・・・なんでrun?コンテナ起動してるはずなのに
docker-compose run web bundle exec rails g rspec:install
Gemfileがimageされたコンテナを作成する。
docker-compose build
rspecの設定ファイルを生成するrakeタスクを実行します。
docker-compose run web bundle exec rails g rspec:install
Rspecの出力形式をドキュメント形式に変更して読みやすくする。
.rspec
--format documentation
コンテナを立ち上げ直す。
docker-compose up -d
specを実行しよう。
docker-compose exec web bundle exec rpsec