apache_conf CircleCI 2.0 w / Ruby + RSpec,MySQL,Redis,ElasticSearch

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache_conf CircleCI 2.0 w / Ruby + RSpec,MySQL,Redis,ElasticSearch相关的知识,希望对你有一定的参考价值。

test:
  secret_key_base: test
  redis_url: 127.0.0.1:6379
  elasticsearch_url: 127.0.0.1:9200
  
test:
  adapter: mysql2
  database: circle_test
  username: root
  password: circleci
  host: 127.0.0.1
  encoding: utf8mb4
  collation: utf8mb4_bin

version: 2
jobs:
  build:
    parallelism: 2  # however many CPUs you need/pay for
    
    #############################################
    # Container Setup
    #############################################
    docker:
      - image: circleci/ruby:2.5.0
        environment:
          - RAILS_ENV=test
      - image: circleci/mysql:5.7
        environment:
          - MYSQL_ROOT_HOST=%
          - MYSQL_ROOT_PASSWORD=circleci
      - image: redis:4.0.9
      - image: elasticsearch:2.3
    
    #############################################
    # Build Steps
    #############################################
    steps:
      - checkout
      - run:
          name: Configure secrets.yml
          command: mv config/secrets.ci.yml config/secrets.yml
      - run:
          name: Configure database.yml
          command: mv config/database.ci.yml config/database.yml

      ###########################################
      # Bundler w/ caching
      ###########################################
      - restore_cache:
          keys:
            - rails-bundle-{{ checksum "Gemfile.lock" }}
            - rails-bundle-
      - run:
          name: Bundle Gems
          command: bundle check --path=vendor/bundle || bundle install --path=vendor/bundle
      - save_cache:
          key: rails-bundle-{{ checksum "Gemfile.lock" }}
          paths:
            - vendor/bundle

      ###########################################
      # Database
      ###########################################
      - run:
          name: Wait for MySQL
          command: dockerize -wait tcp://127.0.0.1:3306 -timeout 1m
      - run:
          name: Load DB schema
          command: bin/rails db:schema:load --trace

      ###########################################
      # Run rspec in parallel
      ###########################################
      - run:
          name: Run rspec in parallel
          command: |
            bundle exec rspec --profile 10 \
                              --format RspecJunitFormatter \
                              --out test_results/rspec.xml \
                              --format progress \
                              $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)

      # Save test results for timing analysis
      - store_test_results:
          path: test_results

以上是关于apache_conf CircleCI 2.0 w / Ruby + RSpec,MySQL,Redis,ElasticSearch的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf CircleCI 2.0配置,用于从PHPUnit到Code Climate获取代码覆盖率

apache_conf Angular CLI的CircleCI配置

在 CircleCI 2.0 中使用 `yarn`

CircleCI 2.0 Android 构建总是失败

如何在CircleCI 2.0上配置顺序工作流?

用于公共存储库的 CircleCI 2.0 私有环境密钥