J'ai couru SystemSpec (RSpec) et Rubocop en utilisant CircleCI.
J'ai résumé le code source que j'ai réellement utilisé à partir de l'apprentissage de base, j'espère donc qu'il sera utile.
Matériel pédagogique: Guide d'introduction-CircleCI Je viens de démarrer CircleCI, donc je l'ai résumé d'une manière facile à comprendre
J'ai fait le [Guide d'introduction --CircleCI] officiellement préparé (https://circleci.com/docs/ja/2.0/getting-started/) pour connaître l'utilisation de base. Il est recommandé que vous puissiez apprendre tout en bougeant vos mains et cela prendra environ 30 minutes.
Ensuite, j'ai lu Je viens de démarrer CircleCI, donc je l'ai résumé d'une manière facile à comprendre. Cet article décrit CircleCI en détail. Après une lecture rapide dans un premier temps, je relis cet article si j'avais des questions.
Basé sur le CircleCI-Public / circleci-demo-ruby-rails Je l'ai implémenté en faisant référence à [circleCI] Run rubocop et rspec test en coopération avec github avec l'application Rails.
Étant donné que l'exemple officiel utilise la dernière version, il n'y avait pas beaucoup de références telles que Qiita.
Cette fois, j'utiliserai la dernière version: 2.1.
--Dispose d'un compte github --Il existe déjà un projet de rails
.circleci/config.yml
yml:.circleci/config.yml
version: 2.1
orbs:
ruby: circleci/[email protected]
jobs:
build:
docker:
- image: circleci/ruby:2.5.1-node-browsers
environment:
BUNDLER_VERSION: 2.1.4
steps:
- checkout
- ruby/install-deps
test:
parallelism: 3
docker:
- image: circleci/ruby:2.5.1-node-browsers
environment:
DB_HOST: 127.0.0.1
RAILS_ENV: test
BUNDLER_VERSION: 2.1.4
- image: circleci/mysql:8.0
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
MYSQL_ROOT_HOST: '%'
steps:
- checkout
- ruby/install-deps
- run: mv config/database.yml.ci config/database.yml
- run:
name: Wait for DB
command: dockerize -wait tcp://localhost:3306 -timeout 1m
- run: bundle exec rake db:create
- run: bundle exec rake db:schema:load
# Run rspec in parallel
- ruby/rspec-test
- ruby/rubocop-check
workflows:
version: 2
build_and_test:
jobs:
- build
- test:
requires:
- build
config/database.yml.ci
yml:config/database.yml.ci
test:
adapter: mysql2
encoding: utf8
pool: 5
username: 'root'
port: 3306
host: '127.0.0.1'
database: ci_test
Recommended Posts