iOS

CI / CD

GREEN.1229 2021. 4. 29. 16:50

안녕하세요. 그린입니다🟢

이번 포스팅에서는 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

 - 사용자의 행위 추적 (앱 사용시간 및 특정 기능 체류시간 등..)

 - 구글 파이어베이스 일부 기능

 - 현업에서 거의 모든 앱에 들어있는 라이브러리

 

[참고자료]

야곰 아카데미 캠프 강의

www.redhat.com/ko/topics/devops/what-is-ci-cd