正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLabサーバーをBitbucket Cloudと連携させます

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

Bitbucket.orgをOAuth 2.0プロバイダーとして設定し、Bitbucket.orgアカウントの認証情報を使用してGitLabにサインインできます。Bitbucket.orgからプロジェクトをインポートすることもできます。

BitbucketをOAuth 2.0認証プロバイダーとして使用する

Bitbucket OmniAuthプロバイダーを有効にするには、Bitbucket.orgにアプリケーションを登録する必要があります。Bitbucketは、使用するアプリケーションIDとシークレットキーを生成します。

  1. Bitbucket.orgにサインインします。

  2. アプリケーションの登録方法に応じて、個々のユーザー設定(Bitbucket settings(Bitbucket設定))またはチームの設定(Manage team(チームの管理))に移動します。アプリケーションが個人として登録されているか、チームとして登録されているかは重要ではありません。それは完全にあなた次第です。

  3. 左側のメニューのAccess Management(アクセス管理)で、OAuthを選択します。

  4. Add consumer(コンシューマーを追加)を選択します。

  5. 必要な詳細を入力します:

    • 名前: これは何でもかまいません。<Organization>'s GitLab<Your Name>'s GitLabなど、わかりやすいものを検討してください。

    • アプリケーションの説明: オプション。必要に応じてここに入力します。

    • コールバックURL: (GitLabバージョン8.15以降で必須) https://gitlab.example.com/users/authなどのGitLabインストールのURL。このフィールドを空のままにすると、Invalid redirect_uriメッセージが表示されます。

      OAuth 2の秘密リダイレクト攻撃を防ぐために、/users/authをBitbucket認可コールバックURLの末尾に追加します。Bitbucketで認証し、Bitbucketリポジトリからデータをインポートするには、この認可エンドポイントを含める必要があります。

    • URL: https://gitlab.example.comなどのGitLabインストールのURL。

  6. 少なくとも次の権限を付与します:

    • アカウント: EmailRead
    • プロジェクト: Read
    • リポジトリ: Read
    • プルリクエスト: Read
    • イシュー: Read
    • Wiki: Read and write
  7. 保存を選択します。

  8. 新しく作成したOAuthコンシューマーを選択すると、OAuthコンシューマーのリストにキーシークレットが表示されます。このページを開いたまま、設定を続行します。

  9. GitLabサーバーで、設定ファイルを開きます:

    # For Omnibus packages
    sudo editor /etc/gitlab/gitlab.rb
    
    # For installations from source
    sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
  10. Bitbucketプロバイダーの設定を追加します:

    Linuxパッケージインストールの場合:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "bitbucket",
        # label: "Provider name", # optional label for login button, defaults to "Bitbucket"
        app_id: "<bitbucket_app_key>",
        app_secret: "<bitbucket_app_secret>",
        url: "https://bitbucket.org/"
      }
    ]

    自己コンパイルによるインストールの場合:

    omniauth:
      enabled: true
      providers:
        - { name: 'bitbucket',
            # label: 'Provider name', # optional label for login button, defaults to "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プロバイダーの設定をSidekiqノードにも含める必要があります。

Bitbucketプロジェクトのインポート

前の設定が完了したら、Bitbucketを使用してGitLabにサインインし、プロジェクトのインポートを開始できます。

Bitbucketからプロジェクトをインポートしたいが、サインインを有効にしたくない場合は、管理者エリアでサインインを無効にすることができます。