InfoGrab DocsInfoGrab Docs

E2E 테스트로 기능 플래그 테스트하기

GitLab E2E(end-to-end) 테스트를 사용하여 기능 플래그를 테스트하는 워크플로와 디버깅 방법을 설명합니다.

Feature Flag E2E(end-to-end) 테스트 # 스테이징 및 프로덕션에서의 E2E 실행 워크플로 # 스케줄 실행 # 스테이징과 프로덕션 환경 모두에서 4시간마다 E2E 테스트를 스케줄에 따라 실행합니다. 이 테스트는 최근 배포가 회귀(regression)를 도입하지 않았는지 확인하는 데 도움이 됩니다. 다음 Slack 채널에서 테스트 결과를 모니터링할 수 있습니다: #e2e-run-staging #e2e-run-production 머지 리퀘스트로 기능 플래그 변경 시 E2E 플로우 # 변경 내용에 기능 플래그 정의 파일이 포함된 경우 # 머지 리퀘스트에서 기능 플래그 정의 파일이 추가되거나 변경된 경우, 다운스트림 E2E GDK job에서 2개의 파이프라인이 트리거됩니다: gdk-instance 는 기능 플래그 정의 파일의 기본값으로 기능 플래그가 설정됩니다. gdk-instance-ff-inverse 는 기능 플래그가 기본값의 반대로 설정됩니다. e2e:test-on-omnibus-ee job은 오케스트레이션 테스트도 통과하는지 확인하기 위해 수동으로 트리거해야 합니다. MR이 승인된 경우 (아직 머지되지 않은 상태) # pipeline:tier-3 라벨이 자동으로 추가됩니다. E2E 테스트는 e2e:test-on-cng 와 e2e:test-on-gdk 라는 이름의 다운스트림 파이프라인을 통해 실행됩니다. 이러한 E2E job 중 하나라도 실패하면 파이프라인이 다음 단계로 진행되지 않도록 차단합니다. 테스트 결과는 E2E 봇이 머지 리퀘스트에 댓글로 게시하므로, 진행하기 전에 주의 깊게 검토하세요. MR이 머지된 경우 # MR이 머지되고 커밋이 staging-canary, staging, production-canary, production 등의 환경에 자동 배포를 위해 선택된 후: 기능 플래그 기본값이 MR에서 변경된 경우 #e2e-run-staging 또는 #e2e-run-production 채널에 ChatOps 메시지가 게시되지 않습니다. ChatOps 메시지는 /chatops 명령어 를 사용하여 플래그를 토글할 때만 나타납니다. #e2e-run-staging 및 #e2e-run-production 채널로 이동하여 다음 스케줄된 full run 이 완료될 때까지 기다리세요. 실행이 통과되면 배포가 안전함을 확인하는 것입니다. 실패하는 경우 추가 롤아웃을 진행하기 전에 조사하세요. [ ](/19.1/development/testing_guide/end_to_end/img/successful-full-run_v18_0.png) 변경 내용에 기능 플래그 정의 파일이 포함되지 않은 경우 # 기능 플래그 뒤에서 작업이 수행되었지만 정의 파일이 변경되지 않은 경우, 원본 변경 내용으로 드래프트 MR을 열고 정의 파일도 편집하여 gdk-instance 와 gdk-instance-ff-inverse 를 트리거하고, 원본 MR의 변경 내용이 E2E 테스트를 깨지 않는지 확인하기 위해 e2e:test-on-omnibus-ee 도 수동