# Shopify 의 소프트웨어 릴리즈 문화

> Clean Markdown view of GeekNews topic #1910. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=1910](https://news.hada.io/topic?id=1910)
- GeekNews Markdown: [https://news.hada.io/topic/1910.md](https://news.hada.io/topic/1910.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-04-17T13:40:56+09:00
- Updated: 2020-04-17T13:40:56+09:00
- Original source: [engineering.shopify.com](https://engineering.shopify.com/blogs/engineering/software-release-culture-shopify)
- Points: 6
- Comments: 1

## Topic Body

Shopify는 릴리즈 문화를 "모든 멤버의 신념과 행동의 합" 이라고 정의

"Shipping이 하기 싫은 일이 아닌, 축하의 느낌을 갖도록 한다"

Shopify가 릴리즈 문화를 측정하는 법

- 수동적 : 개발자 행복도 조사(2년마다), 슬랙 채널

- 능동적 : 도그푸딩, 내부지원팀, UX리서치

Shopify의 릴리즈 프로세스

- 릴리즈 파이프라인 : PRㅤ→ CI/Merge( Merge Queue)ㅤ→ Canaryㅤ→ Production

* 릴리즈 매니저 없음. PR 담당한 개발자가 프로덕션 까지 가는 전체 프로세스를 담당

* 특정윈도우가 없고 아무때나 /shipit 커맨드로 진행

* 에러/충돌 발생시 /shipit --emergency 로 패스트트랙 릴리즈

* 가능한 모든 것을 자동화

## Comments



### Comment 1606

- Author: xguru
- Created: 2020-04-17T13:41:26+09:00
- Points: 2

Merge Queue 는 작년에 공개한 글을 먼저 읽으면 이해하기 쉬움

"Successfully Merging the Work of 1000+ Developers"

https://engineering.shopify.com/blogs/engineering/successfully-merging-work-1000-developers

Shopify는 트렁크 기반 개발을 하며, 일 약 400개 커밋 머지, 하루에 40번 정도 사이트가 변경 됨

오픈소스로 공개한 Shipit 엔진 https://github.com/Shopify/shipit-engine 을 통해서 배포를 진행.

기본 원칙

1. 마스터 브랜치는 항상 Green : CI 통과 해야 함

2. 마스터는 Production에 가까워야함

3. 긴급 머지는 빠르게 처리가 가능해야 함
