GitLab 서버를 Bitbucket Cloud와 통합하기

Tier: Free, Premium, Ultimate Offering: Self-Managed

Bitbucket.org을 OAuth 2.0 프로바이더로 설정하여 Bitbucket.org 계정 자격 증명을 사용하여 GitLab에 로그인할 수 있습니다. 또한 Bitbucket.org에서 프로젝트를 가져올 수도 있습니다.

OAuth 2.0 인증 프로바이더로 Bitbucket 사용하기

Bitbucket OmniAuth 프로바이더를 활성화하려면 앱을 Bitbucket.org에 등록해야 합니다. Bitbucket에서 애플리케이션 ID와 비밀 키를 생성하여 사용하게 됩니다.

  1. Bitbucket.org에 로그인합니다.
  2. 회원 개별 설정(Bitbucket 설정) 또는 팀 설정(팀 관리)로 이동하여 애플리케이션을 등록하려는 방식에 따라 선택합니다. 애플리케이션이 개인 또는 팀으로 등록되었는지는 중요하지 않습니다. 선택은 전적으로 여러분에게 달려 있습니다.
  3. 왼쪽 메뉴에서 액세스 관리 아래 OAuth를 선택합니다.
  4. 소비자 추가를 선택합니다.
  5. 필요한 세부 정보를 제공합니다:

    • 이름: 아무 것이나 가능합니다. <조직의 GitLab> 또는 <귀하의 이름의 GitLab> 또는 다른 설명적인 이름을 고려해보세요.
    • 애플리케이션 설명: 선택 사항입니다. 원하는 경우 작성합니다.
    • 콜백 URL: (GitLab 버전 8.15 이상에서 필요) GitLab 설치의 URL, 예를 들어 https://gitlab.example.com/users/auth와 같습니다. 이 필드를 비워 둘 경우 잘못된 redirect_uri 메시지가 발생합니다.

      경고: OAuth 2 숨겨진 리디렉션 취약점을 막기 위해 사용자의 GitLab 계정이 침해될 수 있는 것을 방지하려면 Bitbucket 권한 부여 콜백 URL 끝에 /users/auth를 추가하세요.

    • URL: GitLab 설치의 URL, 예를 들어 https://gitlab.example.com.
  6. 적어도 다음 권한을 부여합니다:

    계정: 이메일, 읽기
    프로젝트: 읽기
    저장소: 읽기
    풀 요청: 읽기
    이슈: 읽기
    위키: 읽기 및 쓰기
    

    Bitbucket OAuth 설정 페이지

  7. 저장을 선택합니다.
  8. 새로 생성한 OAuth 소비자를 선택하면 이제 OAuth 소비자 목록에서 시크릿을 볼 수 있습니다. 이 페이지를 계속 유지하면서 구성을 계속합니다.

    Bitbucket OAuth 키

  9. GitLab 서버에서 구성 파일을 엽니다:

    # 옴니버스 패키지의 경우
    sudo editor /etc/gitlab/gitlab.rb
    
    # 소스에서 설치한 경우
    sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
    
  10. Bitbucket 프로바이더 구성을 추가합니다:

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "bitbucket",
        # label: "공급자 이름", # 선택 사양, 기본값은 "Bitbucket"
        app_id: "<bitbucket_app_key>",
        app_secret: "<bitbucket_app_secret>",
        url: "https://bitbucket.org/"
      }
    ]
    

    직접 컴파일한 설치의 경우:

    omniauth:
      enabled: true
      providers:
        - { name: 'bitbucket',
            # label: '공급자 이름', # 선택 사양, 기본값은 "Bitbucket"
            app_id: '<bitbucket_app_key>',
            app_secret: '<bitbucket_app_secret>',
            url: 'https://bitbucket.org/' }
    

    <bitbucket_app_key>는 Bitbucket 애플리케이션 페이지의 , <bitbucket_app_secret>시크릿입니다.

  11. 구성 파일을 저장합니다.
  12. 변경 내용이 적용되려면 Linux 패키지를 사용하여 설치한 경우 GitLab 재구성하거나, 직접 컴파일한 설치의 경우 재시작합니다.

로그인 페이지에 정규 로그인 양식 아래에 이제 Bitbucket 아이콘이 있어야 합니다. 아이콘을 선택하여 인증 프로세스를 시작합니다. Bitbucket은 사용자에게 로그인하고 GitLab 애플리케이션을 승인할 것을 요청합니다. 성공하면 사용자는 GitLab으로 돌아와서 로그인됩니다.

Bitbucket 프로젝트 가져오기

위의 구성이 완료되면 Bitbucket을 사용하여 GitLab에 로그인하고 프로젝트를 가져오기를 시작할 수 있습니다.

Bitbucket에서 프로젝트를 가져오고 싶지만 로그인 기능을 활성화하고 싶지 않다면, 관리 영역에서 로그인 비활성화를 할 수 있습니다.