실험 안내서

실험은 대부분 성장 부서인 GitLab 팀에서 수행됩니다. 실험은 주로 GitLab.com을 대상으로 하기 때문에 릴리스와 결합되지 않습니다.

실험은 A/B/n 테스트로 진행되며, 테스트를 켜거나 끄기 위한 실험 피처 플래그가 있습니다. 실험이 생성하는 데이터에 기반하여 팀은 해당 실험이 긍정적인 영향을 미쳤는지 판단하고 새로운 기본값으로 설정해야 하는지 또는 롤백해야 하는지 결정합니다.

GitLab의 실험은 GitLab의 개발 피처 플래그에서 제공되는 개념과 밀접하게 연결되어 있습니다. 실험을 실행하기 전에 반드시 GitLab의 개발 피처 플래그 부분을 읽고 이해하는 것이 좋습니다. 실험은 때로는 A/B/n 테스트로 언급되는 여러 변형을 사용하여 실행될 수 있다는 한 가지 개념이 추가됩니다.

우리는 GitLab에서 실험을 실행하기 위해 gitlab-experiment gem 또는 GLEX(가끔 이와 같이 언급됨)를 사용합니다. 이 gem은 Ruby를 사용하는 모든 GitLab 속성 간에 공유할 수 있도록 별도의 리포지터리에 있습니다. 더 고급 주제나 이슈를 오픈하려면 해당 프로젝트의 문서를 읽는 데 익숙해져야 합니다. 그 문서는 주로 메인 브랜치에 있는 내용을 반영하므로 GitLab에서 사용되는 버전과 일치하지 않을 수 있음을 염두에 두어야 합니다.

용어집

공통 언어를 보장하기 위해 실험에 대해 소통할 때 사용하는 기본 용어를 이해해야 합니다.

  • 실험(experiment): 우리가 때때로 실행하고 때때로 실행하지 않는 코드 경로의 어떠한 편차.
  • 맥락(context): 실험에서 제공하는 일관된 경험.
  • 제어(control): 기본 또는 “원래” 코드 경로.
  • 후보(candidate): 하나의 코드 경로로 실험을 정의함.
  • 변형(variant): 여러 코드 경로로 실험을 정의함.
  • 행동(behaviors): 제어를 포함하여 실험의 모든 가능한 코드 경로를 참조하는 데 사용됨.

실험 구현

GLEX 또는 Gitlab::Experimentgitlab-experiment gem은 GitLab에서 실험을 구현하는 우선적인 옵션입니다.

자세한 정보는 GLEX를 사용한 A/B/n 실험 구현하기를 참조하십시오.

이는 실험 피처 플래그를 사용합니다.

실험을 위한 새로운 아이콘 및 그림 추가

일부 실험에는 코드베이스에 사용자 정의 아이콘 또는 그림을 추가해야 할 수 있습니다. 이 프로세스는 시간이 많이 소요되며 현재 시점에서 실험 결과가 불확실합니다. 따라서 실험 정리 프로세스가 이루어질 때까지 이 작업을 연기하는 것이 좋습니다.

다음 워크플로우를 권장합니다:

  1. 아이콘그림에 대한 Pajamas 가이드라인을 검토합니다.
  2. .svg 파일로 아이콘 또는 그림을 GitLab 리포지터리의 /app/assets/images 경로(또는 EE)에 추가합니다.
  3. 자산 파이프라인을 통해 이를 렌더링하기 위해 image_tag 또는 image_path를 사용합니다.
  4. 실험이 성공하면, 디자이너는 정리 프로세스의 일환으로 새로운 아이콘 또는 그림을 Pajamas UI 킷에 추가합니다. 그런 다음 엔지니어는 프론트엔드 개발 가이드라인에 따라 SVG 라이브러리에 추가하고 구현을 수정할 수 있습니다.

관련 주제