Merge Train

병합 요청이 동시에 수행되었을 때, 서로 충돌하지 않도록 병합 요청을 큐에 대기시키고 선행된 병합 요청에서 문제가 일어나지 않았을 때, 다음 순서의 병합이 수행되도록 조정하는 기능

- 기능 활성화: [Project] -> [Settings] -> [Merge Request] -> [Merge options] 탭에 Enable merged results pipelines, Enable merge trains 활성화 후, [Save changes]

Merge Request 생성

- [project] -> [Merge Requests] -> [New merge request] -> [Source Branch] 선택, [Target branch] 선택 후, [Compare branch and continue] 클릭

2. Merge Trains

- 수정한 source 브랜치와 target 브랜치의 병합 요청 내용이 다른 병합 요청의 변경 내용과 충돌하지 않도록 병합 요청을 큐에 대기시키고, 선행된 병합요청의 파이프라인이 성공적으로 수행된 후에 다음 순서의 머지가 수행되도록 조정함

- kubectl set image deployment/[deployment_name] [container_name]=[image_name]:[tag]

- 머지 요청들이 통제가 되지 않아서 타겟 브랜치가 관리가 되지 않는 상황 방지

- 머지가 순차적으로 진행되므로 문제 발생시에 원인 규정이 용이