Bitrise Scheduled Build를 사용하여 대기열 정체 문제 개선

1628 단어 iOS
여러분, CI 서비스는 무엇을 사용합니까?
Bitrise는 현재 비즈니스의 주요 제품에 사용되고 있습니다.
비트리스는 가격과 Xcode Beta에 대응하는 속도 등 장점이 많지만, 제가 가장 좋아하는 것은 Scheduled Build입니다.
Scheduled Build를 사용하면 무거운 처리가 GiitHub에 대한 Push 때부터 분리되고 심야에 정기적으로 실행되기 때문에 낮에 CI의 대기열이 막히기 어렵다.

CI 대기열이 막힌 문제


CI 대기열이 막힌 문제의 주요 원인 중 하나는 시간이 걸리는 처리가 빈번하게 실행되는 것이다.
iOS 앱을 개발하는 경우 앱의 배포 처리가 병목이 되기 쉽다.
내 경우 개발자 지점에 표시될 때마다 다음 세 가지 처리가 대기열이 막히는 원인입니다.
  • Debug Build + Unit Test
  • Release Build(Development 환경) + Fabric Beta에 배포
  • Release Build(Production 환경) + Fabric Beta에 배포
  • 상술한 처리는 33분 정도 걸렸다.
    한 번에 공 한 개씩 치는데 33분이 걸리면 클럽도 막힌다.

    (위 이미지는 심야 주기로 이동한 이미지)

    애플리케이션을 심야에 배포 처리


    테스트를 위한 사내 배부라면 대부분의 경우 배부된 앱은 전날까지의 변경만 반영하면 충분하다.
    이에 따라 배부 처리는 평일인 심야 2시에 한 번, 퍼시 때는 유닛 테스트만 진행된다.
    Build 차트에서 Bitrise의 Scheduled Build를 간단하게 설정할 수 있습니다.

    또한 Bitrise는 수동으로 임의의 지점을 만들 수 있기 때문에 테스트에서 최신 상태의 응용이 필요할 때도 사용할 수 있다.

    결실


    푸시 때는 8분 정도면 끝날 수 있고 대열이 막혀 일중 개발은 스트레스 없이 진행됐다.

    총결산


    Bitrise의 Scheduled Build를 사용하면 애플리케이션의 분배 처리처럼 무거운 처리가 심야의 정기 실행으로 옮겨져 일중의 대기열이 막히기 어렵다.

    좋은 웹페이지 즐겨찾기