실험 가이드

실험은 대부분 성장 서브 부서의 팀에서 주로 진행되지만 GitLab 팀의 모든 팀에서 실험을 진행할 수 있습니다. 실험은 기본적으로 GitLab.com을 대상으로 하기 때문에 릴리스에 결합되어 있지 않습니다.

실험은 A/B/n 테스트로 실행되며 실험 결과에 따라 팀이 실험이 긍정적인 영향을 미쳤는지 여부를 결정하고 새로운 기본값으로 지정할지 또는 롤백할지를 결정합니다.

GitLab의 실험은 GitLab의 개발을 위한 기능 플래그의 개념과 밀접하게 관련되어 있습니다. 실험을 실행하기 전에 GitLab의 개발을 위한 기능 플래그 설명을 읽고 이해하는 것이 좋습니다. 실험에는 A/B/n 테스트라고도 하는 다양한 기능들이 추가됩니다.

우리는 실험을 실행하기 위해 gitlab-experiment gem(GLEX로도 불림)를 사용합니다. 이 gem은 Ruby를 사용하는 모든 GitLab 속성에서 공유할 수 있도록 별도의 저장소에 존재합니다. 더 고급 주제나 이슈를 열고 싶다면 해당 프로젝트의 설명서를 읽는 것에 대해 편안해야 합니다. 문서는 주로 메인 브랜치와 일치하지 않을 수 있으므로 주의하세요.

용어집

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

  • 실험: 우리가 때때로 실행하고 때때로 실행하지 않을 코드 경로의 어떤 이탈
  • 맥락: 우리가 실험에서 제공하는 일관된 경험
  • 컨트롤: 기본 또는 “원래” 코드 경로
  • 후보: 하나의 코드 경로로 실험을 정의
  • 변종(들): 여러 코드 경로로 실험을 정의
  • 행위들: 제어를 포함하여 실험의 모든 가능한 코드 경로를 참조하는 데 사용

실험 구현

GitLab에서 실험을 구현하는 선호하는 옵션은 GLEX 또는 Gitlab::Experiment, 즉 gitlab-experiment gem입니다.

자세한 내용은 GLEX를 사용한 A/B/n 실험 구현을 참조하십시오.

이는 실험 기능 플래그를 사용합니다.

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

일부 실험은 코드베이스에 사용자 정의 아이콘 또는 그림을 추가해야 할 수도 있습니다. 이 프로세스는 길고 이 단계에서 실험 결과가 불확실합니다. 그러므로 실험 정리 프로세스까지 이 작업을 연기하는 것이 좋습니다.

다음의 워크플로우를 추천합니다:

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

관련 주제