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.)