CI / CD 단계
각 단계에 대한 자세한 내용 : 지속적인 통합 vs. 지속적인 전달 vs. 지속적인 배포

CI (Continuous Integration)
- (빌드 테스트를 실시하는 프로세스) 통합 프로세스를 지속적으로 실시
CD (Continuous Deploy 혹은 Continuous Delivery)
- 프로덕션 환경으로 배포작업을 자동화 하는 것
- 앱에 적용한 변경사항이 버그 테스트를 거쳐 코드저장소에 자동으로 업로드되고 언제든 실시간으로 배포가능
- 변경사항의 배포에 대한 비용 시간과 위험 감소
iOS 앱 배포과정
- 앱을 아카이브 - 아카이브 하는 시간?
- 앱을 앱컨넥트에 업로드 - 배포 시간?
- 5~10분 이상 앱이 업로드 될 때까지(지연)
- 앱을 TestFlight 또는 앱스토어로 배포
연속으로 일어나면 좋은데.. ?? 할 때마다 클릭을 해줘서 다음 단계로 진행하는 상황이 발생 버그를 수정해서 빌드버전을 올릴 때 계속 이 작업이 반복 반복작업.... 귀찮음... -> 자동화
자동화

- Push : 개발한 코드를 저장소에 push
- Hook : git push 되면 GitHub 는 hook 을 통해서 자동화 툴이 빌드를 시작
자동화 : 설정한 순서에 맞게(설정파일 작성)
- Debug Build, Test, Release Build
- Intergrate Codecov : Test coverage 를 측정
- Build Notify : Build, Test 결과를 슬랙, 이메일로 받을 수도
- Delivery : Testflight, App Store 에 배포 지정도 가능
- Delivery Notify : 배포 결과를 슬랙, 이메일로 받을 수도
- Git tag : Git tag 를 기록하는 것을 마지막으로 모든 빌드 과정이 마무리
'Swift > 앱 개발 이론' 카테고리의 다른 글
테스트 주도 개발이란? (TDD) (0) | 2023.12.01 |
---|---|
프로토타입을 만드는 단계 (1) | 2023.11.30 |
제품 개발 방법론 (0) | 2023.11.29 |