실험 가이드
실험은 모든 GitLab 팀에서 수행할 수 있으며, 가장 자주 Growth Sub-department의 팀들이 수행합니다.
실험은 주로 GitLab.com을 대상으로 하기 때문에 릴리스와 연결되지 않습니다.
실험은 A/B/n 테스트로 실행되며, 테스트를 켜거나 끌 수 있도록 실험 기능 플래그가 뒤에 있습니다.
실험이 생성하는 데이터를 기반으로 팀은 실험이 긍정적인 영향을 미쳤는지, 새로운 기본 설정으로 만들어야 하는지 또는 롤백해야 하는지를 결정합니다.
GitLab의 실험은 GitLab의 개발에서 기능 플래그에서 제공하는 개념과 밀접하게 연관되어 있습니다. 실험을 실행하기 전에 GitLab의 개발에서 기능 플래그 부분을 읽고 이해할 것을 강력히 권장합니다.
실험은 GitLab이 개발 중 기능 플래그를 사용하는 방법의 기본을 이해하지 않으면 혼란스럽거나 고급으로 보일 수 있는 추가 개념을 추가합니다.
한 가지 개념: 실험은 여러 변형으로 실행할 수 있으며, 이는 때때로 A/B/n 테스트라고도 불립니다.
우리는 gitlab-experiment
gem, 때때로 GLEX라고도 부르는 것을 사용하여 실험을 실행합니다.
이 gem은 Ruby를 사용하는 모든 GitLab 속성 간에 공유할 수 있도록 별도의 리포지토리에 존재합니다.
더 고급 주제를 파고들고 싶거나 문제를 열고 싶다면 해당 프로젝트의 문서를 읽는 데 편안함을 느껴야 합니다.
다만, 그곳의 문서는 메인 브랜치의 내용을 반영하며 GitLab에서 사용되고 있는 버전과 다를 수 있음을 인지하시기 바랍니다.
용어집
공유된 언어를 보장하기 위해 실험에 대해 소통할 때 사용하는 이러한 기본 용어를 이해해야 합니다:
-
experiment
: 어떤 시점에서는 실행하고, 다른 시점에서는 실행하지 않는 코드 경로의 어떠한 편차입니다. -
context
: 실험에서 제공하는 일관된 경험입니다. -
control
: 기본 또는 “원래” 코드 경로입니다. -
candidate
: 단일 코드 경로만으로 실험을 정의합니다. -
variant(s)
: 여러 코드 경로로 실험을 정의합니다. -
behaviors
: 통제를 포함하여 실험의 모든 가능한 코드 경로를 참조하는 데 사용됩니다.
실험 구현
GLEX - 또는 Gitlab::Experiment
, gitlab-experiment
gem - 은 GitLab에서 실험을 구현하는 선호하는 옵션입니다.
자세한 내용은 GLEX를 사용한 A/B/n 실험 구현을 참조하십시오.
이는 실험 기능 플래그를 사용합니다.
실험을 위한 새로운 아이콘 및 일러스트 추가
일부 실험은 코드베이스에 사용자 정의 아이콘 또는 일러스트를 추가해야 할 수도 있습니다.
이 과정은 길어지며 현재 단계에서 실험의 결과는 불확실합니다.
따라서 실험 정리 과정까지 이 노력을 연기해야 합니다.
다음의 워크플로우를 권장합니다:
-
GitLab 리포지토리 내
/app/assets/images
(또는 EE) 경로에.svg
파일로 아이콘이나 일러스트를 추가합니다. -
자산 파이프라인을 통해 이를 렌더링하기 위해
image_tag
또는image_path
를 사용합니다. -
실험이 성공할 경우, 디자이너는 정리 과정의 일환으로 새 아이콘이나 일러스트를 Pajamas UI 키트에 추가합니다.
그런 다음 엔지니어는 이를 SVG 라이브러리에 추가하고 프론트엔드 개발 가이드라인에 따라 구현을 수정할 수 있습니다.