GitLab의 자동 병합 요청
내 GitLab이 서버 중 하나에 설치되어 있습니다. 여러 개발자가 브랜치에서 소스 코드를 개발하고 로컬 머신에서 GitLab으로 소스를 푸시합니다. 나중에 개발자는 GitLab 계정에 로그인하고 기본 브랜치에 대한 병합 요청을 생성합니다.
이제 개발자가 로컬 머신에서 GitLab으로 코드를 푸시 할 때 기본 브랜치에 자동 병합 요청을 생성하려면 어떻게해야합니까?
답변
불행히도 GitLab에는 병합 요청을 자동으로 생성하는 기능이 없습니다. 예를 들어 bash 또는 python 스크립트를 사용하여 직접 만들어야합니다. 일반적으로 각 파이프 라인의 시작 부분에서 실행 create_merge_request
되는 setup
단계 에서 작업을 호출합니다 . 단계는 다음과 같습니다.
- 열려있는 모든 병합 요청 목록 읽기
- 오픈 MR 중 몇 개가 소스 브랜치에 매핑되는지 계산
- 열려있는 MR이없는 경우 원하는 기본 설정으로 생성합니다.
@mnestorov가 언급했듯이 bash 스크립트에서 이러한 단계를 실행 하는 오픈 소스 버전이 여기 에 있습니다 . GitLab 변수 섹션에서 만들어야하는 유일한 변수는 GITLAB_PRIVATE_TOKEN
GitLab API 토큰을 입력하는 것입니다. 토큰 을 만드는 방법에 대한 지침 은 개인 액세스 토큰 을 참조하십시오 . 사전 정의 된 CI_JOB_TOKEN
변수 를 사용하도록 스크립트를 업데이트 할 수도 있지만 작동하는지 확실하지 않습니다. 그것을 시도하고 알려주십시오!
또는 GitLab API를 사용하여 Python 스크립트를 작성할 수 있지만 직접 작성해야 할 수도 있습니다. Gitlab에서 성공적인 파이프 라인이 끝날 때 병합 요청을 만드는 방법 에서 몇 가지 정보를 찾을 수 있습니다 . .