조직 릴리스 프로세스
조직 기능을 조직 플래그로 게이트하고 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