[RUBY] Exécutez SystemSpec (RSpec) et Rubocop sur CircleCI

introduction

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.

Apprentissage de base

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.

Implémentation CircleCI

Les références

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.

supposition

--Dispose d'un compte github --Il existe déjà un projet de rails

Fichier à créer

.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

Exécutez SystemSpec (RSpec) et Rubocop sur CircleCI
Exécutez Rubocop et RSpec sur CircleCI et déployez-le sur ECS
Compilez et exécutez Java sur la ligne de commande
Remarque lors de la création d'une usine plusieurs-à-plusieurs avec Rspec et des tests avec SystemSpec [RSpec, FactoryBot]
Exécutez des tests Ruby on Rails RSpec avec des actions GitHub
Exécutez STS4 sur Mac
Exécutez PostgreSQL sur Java
Exécuter le traitement sur Ant
Exécutez tiscamera sur Ubuntu 18.04
Jusqu'à ce que vous exécutiez Quarkus et que vous exécutiez l'image docker sur Amazon ECS
Comment exécuter React et Rails sur le même serveur