CircleCI에서 두 개의 MySQL 데이터베이스에 연결하는 앱의 config.yml
                                            
                                                
                                                
                                                
                                                
                                                
                                                 4762 단어  CircleCI시CircleCI2.0
                    
처음에
CircleCi가 V2로 마이그레이션하기 전부터, 2개의 데이타베이스(MySQL)에 접속하는 앱의 테스트를 실행시키고 있었습니다.
CircleCi가 완전히 V1을 폐지함에 따라 V2로 이행했을 때 설정 방법을 검토하여 실현할 수 있었던 방법을 기재합니다.
 구성
이러한 구성의 앱을 가정합니다.
DB 서버의 인스턴스는 하나입니다.
 
 설정 방법
circleci/config.ymlversion: 2
jobs:
  build:
    docker:
      - image: circleci/openjdk:8-jdk
      - image: circleci/mysql:5.7
        environment:
          MYSQL_DATABASE: database1, database2  # ココがポイント!
          MYSQL_HOST: 127.0.0.1
          MYSQL_ROOT_PASSWORD: 'foo'
          MYSQL_ROOT_HOST: '%'
        command: [--character-set-server=utf8, --collation-server=utf8_general_ci]
    working_directory: ~/repo
    environment:
      JVM_OPTS: -Xmx3200m
      TERM: dumb
      TZ: '/usr/share/zoneinfo/Asia/Tokyo'
    steps:
      - checkout
      - run:
          name: Wait for db
          command: dockerize -wait tcp://localhost:3306 -timeout 1m
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "build.gradle" }}
          - v1-dependencies-
      - run: gradle dependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: v1-dependencies-{{ checksum "build.gradle" }}
      - run:
          name: Running tests
          command: gradle test -PexcludeThroughTest=true --info
      - store_artifacts:
          path: ./build/reports
          destination: reports
      - store_test_results:
          path: ./build/test-results
 포인트
포인트는 환경 변수의 MYSQL_DATABASE로 설정하는 값입니다.
쉼표로 구분하여 데이터베이스 이름을 지정하면 시작 시 해당 이름의 데이터베이스를 만들 수 있습니다.
 마지막으로
인터넷에서 검색해도 복잡한 방법만 발견됩니다만, 이 방법을 가장 간단하게 실현할 수 있는 것은 아닐까요.
유감스럽지만 이 방법에 도착한 소스를 모르게 되어 버렸습니다만, 참고로 해 주시면 다행입니다!
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CircleCI에서 두 개의 MySQL 데이터베이스에 연결하는 앱의 config.yml), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/watanabeyt06-w/items/736744b86bc99ff60a37
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
circleci/config.yml
version: 2
jobs:
  build:
    docker:
      - image: circleci/openjdk:8-jdk
      - image: circleci/mysql:5.7
        environment:
          MYSQL_DATABASE: database1, database2  # ココがポイント!
          MYSQL_HOST: 127.0.0.1
          MYSQL_ROOT_PASSWORD: 'foo'
          MYSQL_ROOT_HOST: '%'
        command: [--character-set-server=utf8, --collation-server=utf8_general_ci]
    working_directory: ~/repo
    environment:
      JVM_OPTS: -Xmx3200m
      TERM: dumb
      TZ: '/usr/share/zoneinfo/Asia/Tokyo'
    steps:
      - checkout
      - run:
          name: Wait for db
          command: dockerize -wait tcp://localhost:3306 -timeout 1m
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "build.gradle" }}
          - v1-dependencies-
      - run: gradle dependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: v1-dependencies-{{ checksum "build.gradle" }}
      - run:
          name: Running tests
          command: gradle test -PexcludeThroughTest=true --info
      - store_artifacts:
          path: ./build/reports
          destination: reports
      - store_test_results:
          path: ./build/test-results
포인트
포인트는 환경 변수의 MYSQL_DATABASE로 설정하는 값입니다.
쉼표로 구분하여 데이터베이스 이름을 지정하면 시작 시 해당 이름의 데이터베이스를 만들 수 있습니다.
마지막으로
인터넷에서 검색해도 복잡한 방법만 발견됩니다만, 이 방법을 가장 간단하게 실현할 수 있는 것은 아닐까요.
유감스럽지만 이 방법에 도착한 소스를 모르게 되어 버렸습니다만, 참고로 해 주시면 다행입니다!
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CircleCI에서 두 개의 MySQL 데이터베이스에 연결하는 앱의 config.yml), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/watanabeyt06-w/items/736744b86bc99ff60a37
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Reference
이 문제에 관하여(CircleCI에서 두 개의 MySQL 데이터베이스에 연결하는 앱의 config.yml), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/watanabeyt06-w/items/736744b86bc99ff60a37텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)