f-lab-edu / self-monitoring

0 stars 2 forks source link

CI 환경 구축 - in Github Action #12

Closed iamabear09 closed 7 months ago

iamabear09 commented 7 months ago

구현 사항

f-lab-edu / self-monitoringmain branchpull requestmerge될 때마다 자동으로 test & build가 수행되도록 Github Action 을 사용하여 CI 서버를 구축한다.


공부 방향


목표 달성 과정 계획

iamabear09 commented 7 months ago

CI 서버 [관련 생각 정리]

[생각 정리] 현재 계획 상 App은 Dockerfile 로 감싸지 않는다. Github Action이 제공하는 Host에서 test & build를 진행한다.

  1. Github Action의 Host 안에서 docker-compose 를 통해 MySQL을 띄우고
  2. App을 test 할 때, container 내부의 MySQL과 통신 하며 test를 진행한다.

만약 App도 Dockerfile로 감싸면...?


[궁굼증 확인 및 테스트] Github Host에서 dockerdocker-compose 는 기본적으로 사용 가능하다.


[생각 정리]

즉, Local과 CI용 설정이 다르다. 따라서, 테스트 설정파일을 2개로 분리한기로 결정했다. CI용 설정 파일은 default 설정 파일을 사용하고, Local용 설정 파일은 application-dev.yml 을 사용한다.


[궁굼증 확인 및 테스트] test/resourcesapplication.yml / application-dev.yml 두 개가 있다면, 어떻게 ./gradlew test 시 어떻게 profile을 설정할 수 있을까?

그런데 두 개의 application.yml application-dev.yml 가 존재하면 어떻게 실행이 되는 거지?

  1. application.ymlsql-format: true 설정 & profile dev 설정 → sql-format: true 동작

    • 둘다 동작한다.
  2. application.ymlsql-format: true 설정 & application-dev.ymlsql-format: false 설정 profile dev 설정 → sql-format: false 동작

    • dev가 default를 덮어씌운다.

결론 : 프로필을 설정해도 기본 파일은 동작한다.

iamabear09 commented 7 months ago

yaml 파일 환경변수 - " " 존재 유무 차이

참고 :: yaml spec 공식문서