Swift/앱 개발 이론

CI/CD란 무엇일까?

Teol 2023. 12. 2. 17:29

CI / CD 단계

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

 

 

CI (Continuous Integration)

  • (빌드 테스트를 실시하는 프로세스) 통합 프로세스를 지속적으로 실시

CD (Continuous Deploy 혹은 Continuous Delivery)

  • 프로덕션 환경으로 배포작업을 자동화 하는 것
  • 앱에 적용한 변경사항이 버그 테스트를 거쳐 코드저장소에 자동으로 업로드되고 언제든 실시간으로 배포가능
  • 변경사항의 배포에 대한 비용 시간과 위험 감소
 

iOS 앱 배포과정

  1. 앱을 아카이브 - 아카이브 하는 시간?
  2. 앱을 앱컨넥트에 업로드 - 배포 시간?
    • 5~10분 이상 앱이 업로드 될 때까지(지연)
  3. 앱을 TestFlight 또는 앱스토어로 배포

연속으로 일어나면 좋은데.. ?? 할 때마다 클릭을 해줘서 다음 단계로 진행하는 상황이 발생 버그를 수정해서 빌드버전을 올릴 때 계속 이 작업이 반복 반복작업.... 귀찮음... -> 자동화


자동화


  1. Push : 개발한 코드를 저장소에 push
  2. Hook : git push 되면 GitHub 는 hook 을 통해서 자동화 툴이 빌드를 시작

자동화 : 설정한 순서에 맞게(설정파일 작성)

  1. Debug Build, Test, Release Build
  2. Intergrate Codecov : Test coverage 를 측정
  3. Build Notify : Build, Test 결과를 슬랙, 이메일로 받을 수도
  4. Delivery : Testflight, App Store 에 배포 지정도 가능
  5. Delivery Notify : 배포 결과를 슬랙, 이메일로 받을 수도
  6. Git tag : Git tag 를 기록하는 것을 마지막으로 모든 빌드 과정이 마무리
 

'Swift > 앱 개발 이론' 카테고리의 다른 글

테스트 주도 개발이란? (TDD)  (0) 2023.12.01
프로토타입을 만드는 단계  (1) 2023.11.30
제품 개발 방법론  (0) 2023.11.29