Android CI/CD

Jong_Han·2021년 12월 24일
0

Study

목록 보기
1/1

CI/CD란?

  1. CI

    CI란, Continuous Integration의 약자로 지속적인 통합을 의미한다.

    지속적인 통합은 개발을 진행하면서, 코드의 통합을 지속적으로 진행해 코드의 품질을 유지시키는 것이다.

    따라서, Bitrise나 Jenkins와 같은 CI/CD 자동화 툴을 사용하지 않더라도, CI 자체는 가능하다.

    하지만 하지만 CI는 지속적으로 진행되기에 매우 번거로운 일이므로 툴을 사용해 자동화 시키는 것이 일반적이다.

    지속적인 통합 예시 (자동화 X)

    1. 모든 개발자는 퇴근 전에 코드를 push 한다.
    2. push되어 통합된 코드가 정상 동작하는지 테스트한다.
    3. 통합된 코드가 제대로 빌드 되는지 테스트한다.
    4. 결과를 정리하여, 버그가 있다면 다음 날 업무 리스트에 추가한다.

    지속적인 통합 예시 (자동화 O)

    1. 모든 개발자는 퇴근 전에 코드를 push 한다.
    2. 자동화 도구의 결과에 따라 버그가 있다면 다음 날 업무 리스트에 추가한다.

    위 예시와 같이, 자동화 도구의 도입으로 지속적인 통합을 이루어내면서 테스트와 빌드의 과정이 자동화되어 보다 간편한 워크 플로우가 형성되었음을 알 수 있다.

  2. CD

    CD란 Continuous Deploy 또는 Continuous Delivery의 약자로 지속적인 배포를 의미한다.

    소프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 하는 것이다.

    하지만 소프트웨어를 배포하기 위해서는 빌드와 테스트는 필수적이기 때문에, CD를 위해서는 CI가 선행되어야 한다.


결국 CI/CD란?

CI = 빌드와 테스트의 자동화

CD = 배포의 자동화


CI/CD 툴 비교

BitriseBitbucket pipelineGithub actionsJenkinsFastLane
가격무료 / 월40$+무료(50분)/3(2500)/6(2500분)/6(3500분) + 추가 1000분당 10$public 저장소 무료 / private 저장소 유료무료무료...인듯?
서버구축XXXOX
장점모바일 플랫폼에 특화됨BitBucket과 연동성쉽다사용자가 많아 참고할 레퍼런스가 많다.iOS에서도 많이 사용하는 듯..?
단점가격가격github 사용해야함서버 구축이 필요함gui 미제공
profile
안드로이드 개.....발자?

0개의 댓글