正式なドキュメントは英語版であり、この日本語訳は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)またはチームの設定(Manage team)に移動します。アプリケーションを個人として登録するかチームとして登録するかは、完全にあなた次第です。

  3. 左メニューのAccess Managementで、OAuthを選択します。

  4. Add consumerを選択します。

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

    • Name: これは任意のものです。<Organization>'s GitLab<Your Name>'s GitLabのような、説明的なものを検討してください。

    • Application description: (オプション)必要に応じて入力してください。

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

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

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

  6. 以下の権限を付与します:

    • アカウント: Email, Read
    • プロジェクト: Read
    • リポジトリ: Read
    • Pull Requests: Read
    • イシュー: Read
    • Wikis: Read and write
  7. Saveを選択します。

  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_app_secret>シークレットです(Bitbucketアプリケーションページから)。

  11. 設定ファイルを保存します。

  12. 変更を有効にするには、Linuxパッケージを使用してインストールした場合はGitLabを再設定 、自己コンパイルでインストールした場合は再起動します。

サインインページに、通常のサインインフォームの下にBitbucketアイコンが表示されます。そのアイコンを選択すると、認証プロセスが開始されます。Bitbucketは、ユーザーにサインインしてGitLabアプリケーションを認可するよう求めます。成功すると、ユーザーはGitLabに戻り、サインインします。

マルチノードアーキテクチャの場合、プロジェクトをインポートできるように、Bitbucketプロバイダーの設定をSidekiqノードにも含める必要があります。

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

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

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