CI (Continuous Intergration)
지속적 통합 - 빌드, 테스트 자동화
- 구현한 코드가 기존 코드와 병합
- 병합된 코드가 잘 동작하는지 빌드 & 테스트
CD (Continuous Delivery/Deployment)
지속적 제공/배포 - 배포 자동화
Continuous Delivery는 승인을 위해서 production-ready 환경에 올리는 것
Continuous Deployment는 사용자가 쓸 수 있는 환경까지 릴리즈하는 것
(어디서는 리모트 레포지터리에 올리는 걸 CI라고 하고 어디서는 CD라고 한다... 몰까...)
리모트 레포지터리에 push하는 것까지가 CI (땡스투구리)
CI/CD가 없으면 테스트 코드를 작성하는 것이 크게 의미가 없다고 한다..
테스트 코드를 우리가 수동으로 실행해야 한다면 굳이 테스트 코드를 만들 필요가 없는 것..!
CI/CD는 실무에서는 오래 걸리는 작업이고 수동적으로 진행되는 경우가 많다..
자동화시킬수록 사용자들에게 배포하는 시간이 줄고 사용자 반응에 더 빠르고 유연하게 대처가 가능하다
잘 구축시켜 놓으면 배포 프로세스보다 코드에 집중할 수 있어 품질도 높일 수 있고,,
얼마나 잘 구축되어 있는지를 보고 회사의 개발 문화가 얼마나 고도화되어 있는지 판단도 할 수 있다고 한다..
iOS에서는 Fastlane, Bitrise, Jenkins같은 것들을 쓰는데, 자주 사용되는 Fastlane부터 사용해 보려고 한다..!
Apple에서 만든 Xcode Cloud도 있던데 나중에 써 보고 싶다 ,,,
'iOS' 카테고리의 다른 글
🚀 fastlane으로 TestFlight 배포 자동화하기! - 설치와 배포 (0) | 2023.02.16 |
---|---|
[iOS] Storyboard 사용해 보기 - Label, Button, Image View (0) | 2022.07.04 |