학습 목표
- 지속적 통합의 필요성을 설명할 수 있다.
- 지속적 통합 개념이 나오게 된 배경을 이해할 수 있다.
- 지속적 통합의 장점을 설명할 수 있다.
- 지속적 통합의 원칙을 이해할 수 있다.
- 빌드/테스트의 개념을 이해할 수 있다.
- 테스트 주도 개발(TDD)에 대한 정의와 필요성을 설명할 수 있다.
- 테스트 주도 개발(TDD) 사이클을 설명할 수 있다.
- 테스트의 종류 (단위 테스트, 통합 테스트, E2E 테스트)를 설명할 수 있다.
- 릴리스의 개념을 이해할 수 있다.
- CI 도구(여기서는 GitHub Action)를 이용하여 지속적 통합이 이루어지는 과정을 직접 구현할 수 있다
- 다양한 CI 도구의 차이점을 이해할 수 있다.
- 코드와 환경 변수를 분리해야 하는 이유를 설명할 수 있다.
환경 변수
- 운영체제 혹은 소프트웨어가 각기 다른 컴퓨터 또는 사용자마다 별도로 가질 수 있는 고유한 정보를 담는 데 사용하는 변수
- 왜 필요한가?
- 배포되는 기능마다 설정이 달라질 수 있음
- 새로운 배포마다 새로운 기능들을 배포하게 됨으로써 설정 값이 바뀌게 됨
- 코드의 버전을 관리하는 것처럼 설정 값의 버전을 관리할 필요가 있음
- 설정은 왜 환경 변수를 통하여 분리하여야 하는가?
- 환경 변수는 코드 변경 없이 배포 때마다 쉽게 변경할 수 있음
- 설정 파일과 달리 잘못해서 코드 저장소에 올라갈 가능성이 적음
- 다른 설정 메커니즘과 달리 언어나 OS에 의존하지 않음
- 배포되는 기능마다 설정이 달라질 수 있음
- 설정 예
- 리눅스: export 명령어
- 코드를 통해 환경 변수설정: node.js → process.env
- 서비스 내에서 환경 변수 설정: GitHub Action
'Code States > TIL' 카테고리의 다른 글
[0424] 배포 자동화 - 배포 자동화 (0) | 2023.04.24 |
---|---|
[0421] (페어) 지속적 통합 - 환경 변수 분리 (0) | 2023.04.21 |
[0420] (페어) 지속적 통합 - 빌드 및 테스트 자동화 (0) | 2023.04.20 |
[0420] 지속적 통합 - 테스트 (0) | 2023.04.20 |
[0420] 지속적 통합 - 지속적 통합 (0) | 2023.04.20 |