TL;DR
- GitHub 장애가 도구 설치에 미치는 영향을 줄이기 위해 Bitrise가 Ruby 설치 경로를 nixpkgs,
mise사전 빌드 바이너리, 소스 빌드 순으로 이중화함. mise는 기본 기능으로 사전 빌드된 Ruby 바이너리 설치를 지원하며, 바이너리는 GitHub에 호스팅됨.- Bitrise는 자체
mise플러그인으로 nixpkgs에서 사전 빌드 바이너리를 가져와 기존부터 macOS에서 빠른 Ruby 설치를 제공함. mise의 바이너리 저장소는 GitHub 가동 시간에 영향을 받지만, nixpkgs는 S3에 호스팅되며 자체 호스팅도 가능함.- 중복 경로는 서비스 가용성뿐 아니라 새 Ruby 버전의 바이너리가 nixpkgs보다
mise에 먼저 올라오는 경우에도 빠른 설치 버전 범위를 넓힘.
도구 체인은 여전히 GitHub를 거침
- GitHub의 인공지능(AI) 확장 문제를 둘러싼 온라인 논의에는 트래픽의 지속적 증가와 GitHub 자체의 의사결정을 고려할 때 사용자가 얼마나 관대해야 하는지에 관한 이야기가 많음.
- 많은 오픈소스 개발자의 반대에도 업계에 Copilot을 밀어붙인 대담한 GitHub가 이제 ‘허그 오브 데스’에 시달린다는 점에는 아이러니가 있음. GitHub가 초기 에이전트형 코딩 도구를 만들지 않았다면 이런 상황을 겪지 않았을지는 확실하지 않음.
- 2026년 현재 업계의 큰 변화는 GitHub의 안정성과 평판에도 영향을 미쳤으며, GitHub 장애는 다운스트림 엔지니어링 팀에 미묘한 방식으로 파급됨.
- 회사가 여러 시간 동안의 서비스 중단을 감당할 수 없다고 판단해 다른 Git 포지로 옮기더라도 GitHub는 개발자의 일상에 깊숙이 남아 있음.
- 예를 들어
mise는 최근 사전 빌드된 Ruby 바이너리 지원을 기본 기능으로 추가함. 이전에는mise use [email protected]실행 시 Ruby를 처음부터 컴파일해야 해 몇 분이 걸렸지만, 사전 빌드 바이너리 설치는 몇 초면 됨. - DHH도 X 게시물에서 더 빨라진 설치를 위한
mise의 사전 빌드 Ruby 바이너리를 칭찬함. - 해당 사전 빌드 바이너리의 호스팅 장소는 GitHub임.
Bitrise가 이미 Ruby 설치를 빠르게 만든 방식
- Bitrise 팀은 Bitrise CI, Build Hub, Remote Developer Environment 제품을 구동하는 가상 머신(VM) 이미지를 관리하며, 대부분의 개발자 요구를 충족하도록 이미지에 여러 Ruby 버전을 포함함.
- 이미지에 없는 특정 버전이 필요한 워크플로에서는
mise use [email protected],asdf install ruby x.y.z또는 래퍼인bitrise tools install ruby x.y.z를 사용함. bitrise tools install은 지난해부터 macOS에서 매우 빠른 Ruby 설치를 제공함. 따라서 Bitrise 고객은 DHH보다 먼저 빠른 Ruby 설치를 이용함.- Bitrise CLI는 사용자 정의
mise플러그인을 통해 nixpkgs에서 사전 빌드된 Ruby 바이너리를 가져오며, 내부적으로 도구 설치 시 이 플러그인과 함께mise를 실행함.
플러그인을 폐기할지 여부
mise가 사전 빌드 Ruby 바이너리를 기본 지원하면서 플러그인 없이도 같은 속도의 설치를 제공하고, 관리 프로젝트를 하나 줄일 기회가 생김.- 일반적으로는 추가 프로젝트 유지에 드는 엔지니어링 부담과 해당 시스템이 없을 때 최종 사용자 경험에 생기는 위험을 비교해 결정함.
mise구현은 바이너리를 GitHub에 저장하므로 유용성이 GitHub 가동 시간과 직접 연결됨. GitHub가 중단돼도 설치는 계속되지만 Ruby가 소스 컴파일로 전환돼 빌드가 느려짐.- 반면 nixpkgs는 S3에 호스팅되며 자체 호스팅 선택지도 있어 편리한 이중화를 제공함.
두 경로를 모두 유지한 이유
- 8월 17일에 발생한 7시간이 넘는 장애 등 최근 사례를 고려하면 결정은 명확했음. 중복 프로젝트를 유지하는 추가 부담을 감수할 고객 혜택이 분명함.
- 이제
bitrise tools install ruby는 다음 세 경로를 순서대로 시도함. - nixpkgs
mise사전 빌드 바이너리- 소스에서 빌드
- 별도 변경 없이
bitrise tools install을 계속 사용하면 대체 경로가 자동으로 작동함. - Ruby 설치 흐름은 먼저 nixpkgs를 시도하고, 실패하면
mise사전 빌드 바이너리를 사용하며, 마지막으로 소스에서 빌드하는 방식임. - 가동 시간 외에도 버전 범위 확대라는 이점이 있음. 새 Ruby 버전의 사전 빌드 바이너리 호스팅이 nixpkgs에서 늦어지고
mise가 더 먼저 게시하면, 기본mise경로로 매끄럽게 전환해 여러 Ruby 버전에서 빠른 설치 범위를 더 완전하게 제공할 수 있음.
Bitrise는 업스트림 혼란을 흡수하는 지루한 계층임
- 사전 빌드 Ruby 지원을 추가한
mise팀에 큰 감사를 전함. 바이너리 호스팅에 GitHub를 사용하는 사례는 GitHub가 앞으로도 개발자의 일상에서 중심적인 역할을 할 것임을 보여줌. - Bitrise의 역할은 업스트림의 혼란을 흡수하는 지루한 계층임. 플랫폼 엔지니어는 사용자에게 안정적이고 성능이 뛰어난 경험을 제공하는 방식을 결정할 때 이 관점을 가져야 함.
- GitHub 장애로 인해 Bitrise는 이중화 방식을 당연한 선택으로 받아들였으며, 앞으로의 결정에서도 같은 기조가 이어질 것으로 예상함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요