-
안녕하세요. 그린입니다🟢
이번 포스팅에서는 CI / CD에 대해 간략하게 학습해보겠습니다🧑🏻💻
CI
- Continuous Integration (지속적 통합)
- 빌드하고 테스트 자동화하는것 까지 의미 (최소한 테스트가 가능해야함)
- 정기적 빌드 / 테스트 되어 팀 레파지토리에 통합하는 것을 말함 (앱의 변경사항)
- 팀의 개발자들이 형상관리 툴로 공유하여 사용하는 환경이 되어야함 (깃헙 등)
- Jenkins 같은 CI tool에 소스코드 변경을 보내고 처리 (빌드, 테스트, 머지를 진행하고 완료 결과를 알림)
CD
- Continuous Delivery / Deployment (배포 자동화)
- CD가 되기 위해 항상 CI가 선행되어야함
- SW가 신뢰 가능한 수준에서 배포될 수 있도록 지속 관리하는것
CI/CD 자동화 솔루션
- Travis, Jenkins, Github Action (따로 CI 서버 구축 필요없이 구현되있음)
- 그 중 Jenkins가 가장 많이 사용되고있음
Testflight
- 베타 테스트를 위한 환경 제공
- 테스트 앱을 업로드하여 배포하지 않아도 내부적인 배포수단이 될 수 있음
Crashlytics
- 사용자의 행위 추적 (앱 사용시간 및 특정 기능 체류시간 등..)
- 구글 파이어베이스 일부 기능
- 현업에서 거의 모든 앱에 들어있는 라이브러리
[참고자료]
야곰 아카데미 캠프 강의
'iOS' 카테고리의 다른 글
ReactorKit으로 랜덤 통신 구현하기 (0) 2021.07.10 Run Loop (0) 2021.06.01 Machine Learning (0) 2021.04.20 Core Animation (0) 2021.04.01 Homebrew & Vapor Toolbox (0) 2021.03.30