본문 바로가기

iOS

CI/CD에 대해 알아보자!

 

 

 

 

 

CI (Continuous Intergration)

지속적 통합 - 빌드, 테스트 자동화

  • 구현한 코드가 기존 코드와 병합
  • 병합된 코드가 잘 동작하는지 빌드 & 테스트

 

CD (Continuous Delivery/Deployment)

지속적 제공/배포 - 배포 자동화

Continuous Delivery는 승인을 위해서 production-ready 환경에 올리는 것

Continuous Deployment는 사용자가 쓸 수 있는 환경까지 릴리즈하는 것

 

 

 

 

 

 

 

(어디서는 리모트 레포지터리에 올리는 걸 CI라고 하고 어디서는 CD라고 한다... 몰까...)

 

 

 

CI/CD가 없으면 테스트 코드를 작성하는 것이 크게 의미가 없다고 한다..

테스트 코드를 우리가 수동으로 실행해야 한다면 굳이 테스트 코드를 만들 필요가 없는 것..!

 

CI/CD는 실무에서는 오래 걸리는 작업이고 수동적으로 진행되는 경우가 많다..

자동화시킬수록 사용자들에게 배포하는 시간이 줄고 사용자 반응에 더 빠르고 유연하게 대처가 가능하다

잘 구축시켜 놓으면 배포 프로세스보다 코드에 집중할 수 있어 품질도 높일 수 있고,,

얼마나 잘 구축되어 있는지를 보고 회사의 개발 문화가 얼마나 고도화되어 있는지 판단도 할 수 있다고 한다..

 

 

iOS에서는 Fastlane, Bitrise, Jenkins같은 것들을 쓰는데, 자주 사용되는 Fastlane부터 사용해 보려고 한다..!

Apple에서 만든 Xcode Cloud도 있던데 나중에 써 보고 싶다 ,,,