마스터 데이터의 CI/CD
GitHub Actions 등을 사용한 마스터 데이터 자동 업데이트
마스터 데이터 업데이트 작업을 자동화함으로써 사람의 실수를 줄이고 개발 사이클을 빠르게 만들 수 있습니다.
자동화 흐름
일반적인 자동화 흐름은 다음과 같습니다.
- 데이터 작성: Excel이나 Google 스프레드시트, CSV 등으로 마스터 데이터를 작성합니다.
- 변환: 스프레드시트에서 GS2의 마스터 데이터 형식(JSON)으로 변환합니다.
- 커밋: 변환 후의 JSON 또는 GS2-Deploy의 템플릿을 Git 저장소에 커밋합니다.
- 배포: CI 도구(GitHub Actions, CircleCI 등)가 변경 사항을 감지하여 GS2에 반영합니다.
배포 자동화
GS2-Deploy를 사용하는 경우
GS2-Deploy의 템플릿에 마스터 데이터를 담아 둔 경우, CI에서 GS2-Deploy의 스택을 업데이트함으로써 반영할 수 있습니다.
GitHub Actions 예시:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: GS2 Deploy
run: |
# gs2-cli 등을 사용하여 스택을 업데이트
gs2-cli deploy update-stack --stack-name master-data --template-file template.yaml관리 콘솔의 내보내기/가져오기를 사용하는 경우
각 마이크로서비스의 CurrentItemModelMaster 를 업데이트하는 API를 호출함으로써 JSON 파일의 내용을 반영할 수 있습니다.
권장 사항
- 검증 환경에서의 테스트: 프로덕션 환경에 반영하기 전에, 반드시 검증용 프로젝트/네임스페이스에 배포하여 동작 확인을 진행하세요.
- 밸리데이션: 배포 전에 스크립트 등으로 데이터의 정합성 체크(ID 중복 체크나 관련 리소스의 존재 체크)를 수행할 것을 강력히 권장합니다.