InfoGrab DocsInfoGrab Docs

조직 릴리스 프로세스

조직 기능을 조직 플래그로 게이트하고 Experimental, Beta, LA, GA로 이어지는 공유 스테이지를 통해 단계적으로 출시하는 절차를 설명합니다.

조직 기능은 조직 플래그(organization flag) 뒤에 게이트한 다음, 그 플래그를 고정된 공유 스테이지(stage) 사다리를 따라 올리는 방식으로 출시합니다. 스테이지는 Experimental, Beta, Limited Availability(LA), GA입니다. 이 모델은 한 가지 아이디어에 기반합니다. 기능의 대상 사용자는 오직 넓어지기만 한다는 것입니다. 대상 사용자는 두 축을 따라 넓어집니다. 세그먼트는 누가 기능에 접근할 수 있는지로, Organizations 팀에서 시작해 GitLab 팀 멤버와 옵트인한 고객으로, 다시 점점 더 많은 고객으로, 마지막에는 모두에게로 확장됩니다. 플랫폼은 기능이 어디에서 실행되는지로, GitLab.com에서 시작해 GA 시점에는 GitLab Self-Managed와 GitLab Dedicated까지 확장됩니다. 각 스테이지는 그렇게 넓어지는 면 위의 한 지점입니다. 더 높은 스테이지는 두 축 중 하나 또는 양쪽 모두에서 대상 사용자를 넓히며, 결코 좁히지 않습니다. 여러분이 바꾸는 것은 오직 하나, 스테이지뿐입니다. 스테이지는 스테이지당 하나씩 존재하는, 작고 고정된 공유 스테이지 플래그(stage flag) 집합( org_stage_* )으로 뒷받침되며, 각 플래그에는 해당 스테이지의 대상 사용자와 롤아웃이 이미 구성되어 있습니다. 플래그를 새로 만들거나 그 액터 또는 백분율을 조정하지 않습니다. 기능을 진전시키려면 머지 리퀘스트에서 해당 조직 플래그의 스테이지를 올리면 되고, 그러면 그 스테이지의 롤아웃을 상속합니다. 이것이 각 기능이 자기 기능 플래그를 소유하고 자기 롤아웃을 직접 구동하는 일반적인 GitLab 기능 플래그 워크플로와 이 프로세스가 달라지는 핵심 지점입니다. 구체적인 내용은 핸드북에 있습니다. 스테이지, 각 스테이지의 대상 사용자, 목표 플랫폼, 롤아웃 규칙이 그렇습니다. Organizations release stages 를 참조하세요. 그 페이지가 진실 공급원이며, 제품과 디자인을 포함해 Organizations에서 일하는 모든 사람을 대상으로 작성되었습니다. 이 페이지는 엔지니어링 가이드입니다. 모든 기능이 아직 이 프로세스를 따르는 것은 아닙니다. 오늘날 모든 경로가 릴리스 레이어에 올라와 있지는 않은 기능인 조직 생성에 대한 감사 내용은 조직이 생성되는 방식 을 참조하세요. 기능을 릴리스하는 데는 네 단계가 있습니다: 릴리스 레이어로 기능을 게이트합니다 . 시작 스테이지로 조직 플래그를 등록합니다 . 릴리스 spec 헬퍼로 기능을 테스트합니다 . Stable에 도달할 때까지 스테이지를 따라 진전시킵니다 . 기능 게이트하기 # 기능 코드와 기능 플래그 라이브러리 사이에 위치하는 릴리스 레이어 Organizations::Release 로 기능을 감쌉니다. 기능 플래그를 직접 확인하지 말고, 조직 플래그가 활성화되어 있는지 이 레이어에 물어보세요: return unless Organizations::Release.enabled?(:ui_for_organizat