InfoGrab Docs

머지 트레인

GitLab CI/CD에서 머지 트레인을 사용하여 머지 리퀘스트를 큐에 넣고 브랜치 충돌을 방지합니다.

히스토리 GitLab 16.0 이상에서 , 머지 트레인 시작 및 파이프라인이 성공하면 머지 트레인 시작 버튼이 자동 머지로 설정 이 되었습니다. 머지 트레인에서 제거 는 자동 머지 취소 가 되었습니다. Fast-forward 및 semi-linear 머지 방법에 대한 지원이 GitLab 16.5에서 fast_forward_merge_trains_support 라는 플래그 와 함께 도입 되었습니다. 기본적으로 활성화됩니다. 피처 플래그 fast_forward_merge_trains_support 제거 가 GitLab 16.11에서 이루어졌습니다. 기본 브랜치에 빈번하게 머지가 이루어지는 프로젝트에서는 서로 다른 머지 리퀘스트의 변경 사항이 서로 충돌할 수 있습니다. 머지 리퀘스트를 큐에 넣으려면 머지 트레인을 사용합니다. 각 머지 리퀘스트는 다른 이전 머지 리퀘스트와 비교되어 모두 함께 작동하는지 확인합니다. 다음에 대한 자세한 정보: 머지 트레인의 작동 방식은 머지 트레인 워크플로우 를 참조하세요. 머지 트레인을 사용하려는 이유는 머지 트레인 시작으로 DevOps 효율성을 향상시키는 방법 을 읽어보세요. 머지 트레인 워크플로우 # 머지 트레인은 대기 중인 머지 리퀘스트가 없을 때 머지 또는 자동 머지로 설정 을 선택하면 시작됩니다. GitLab은 변경 사항이 기본 브랜치에 머지될 수 있는지 확인하는 머지 트레인 파이프라인을 시작합니다. 이 첫 번째 파이프라인은 소스 및 대상 브랜치의 변경 사항을 함께 결합하여 실행되는 머지된 결과 파이프라인 과 동일합니다. 내부 머지 결과 커밋의 작성자는 머지를 시작한 사용자입니다. 첫 번째 파이프라인이 완료된 직후에 두 번째 머지 리퀘스트가 머지되도록 큐에 넣으려면, 머지 또는 자동 머지로 설정 을 선택하여 트레인에 추가합니다. 이 두 번째 머지 트레인 파이프라인은 두 머지 리퀘스트의 변경 사항을 대상 브랜치와 결합하여 실행됩니다. 마찬가지로, 세 번째 머지 리퀘스트를 추가하면 해당 파이프라인이 세 머지 리퀘스트의 모든 변경 사항을 대상 브랜치와 머지하여 실행됩니다. 파이프라인은 모두 병렬로 실행됩니다. 각 머지 리퀘스트는 다음 조건이 모두 충족된 후에만 대상 브랜치에 머지됩니다: 머지 리퀘스트의 파이프라인이 성공적으로 완료됩니다. 이전에 큐에 대기된 다른 모든 머지 리퀘스트가 머지됩니다. 머지 트레인 파이프라인이 실패하면 머지 리퀘스트는 머지되지 않습니다. GitLab은 해당 머지 리퀘스트를 머지 트레인에서 제거하고 이후에 큐에 추가된 모든 머지 리퀘스트에 대해 새 파이프라인을 시작합니다. 예를 들어: 세 개의 머지 리퀘스트( A , B , C )가 순서대로 머지 트레인에 추가되어 병렬로 실행되는 세 개의 머지된 결과 파이프라인을 생성합니다: 첫 번째 파이프라인은 A 의 변경 사항을 대상 브랜치와 결합하여 실행됩니다. 두 번째 파이프라인은 A 와 B 의 변경 사항을 대상 브랜치와 결합하여 실행됩니다. 세 번째 파이프라인은 A , B , C 의 변경 사항을 대상 브랜치와 결합하여 실행됩니다. B 에 대