プロキシを使用するようにランナーを設定する

自分またはその組織のシステムとワークフローのセットアップ方法によっては、セルフホスト ランナーをプロキシ サーバーの背後で実行できるようにする必要がある場合があります。HTTP_PROXYHTTPS_PROXY の各環境変数を Docker run コマンドに渡すことで、プロキシの背後で実行されるようにランナーを設定できます。

ランナーは git clone と内部で行う REST API 呼び出しに対して https 経由で Bitbucket と通信するため、少なくとも HTTPS_PROXY を設定する必要があります。

以下の例は、Linux でプロキシの背後でランナーを起動する方法を示しています。

1 2 3 4 5 docker container run \ -e HTTP_PROXY="http://my-http-proxy" \ -e HTTPS_PROXY="http://my-https-proxy" \ .... docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-runner:1

プロキシを使用するようにホストの Docker デーモンを設定する

Docker を使用する際は、ランナー ホストの Docker デーモンもプロキシによって外部と通信するように設定する必要がある場合があります。このセットアップ方法の詳細については、Docker のドキュメントをご確認ください。

プロキシを使用するように Docker サービスを設定する

ビルドで Docker サービスを使用する際、初期設定ではランナーに渡された HTTP_PROXYHTTPS_PROXY の各変数が使用されます。

Docker サービスを構成して、プロキシを個別に使用したり、ランナーが使用するプロキシとは異なるプロキシを使用したりできます。これは、HTTP_PROXYHTTPS_PROXY の各値をワークスペースまたはリポジトリの各変数として指定するか、カスタム Docker-in-Docker サービスを使用することで実現できます。

1 2 3 4 5 6 services: docker: image: docker:dind environment: HTTP_PROXY: "http://username:password@proxy2.domain.com" HTTPS_PROXY: "http://username:password@proxy2.domain.com"

制限事項

  • 起動時にランナーに渡される HTTP_PROXYHTTPS_PROXY の各変数は、ビルド コンテナー、サービス コンテナー、またはパイプには渡されません。必要に応じて、リポジトリ レベル変数などの変数を設定できます。

  • 認証未設定の Git + http によるプッシュ バックはサポート対象外です。https 経由でプッシュ バックするには、プロキシを使用するように Git を手動で設定するとともに適切な認証情報を使用するように Git を設定するか、ssh 経由でプッシュ バックする必要があります。

  • Docker サービスの場合は、ワークスペース、リポジトリ、またはサービスのレベルで設定された HTTP_PROXY または HTTPS_PROXY の各パイプライン変数は、ランナーに渡される変数をオーバーライドします。

  • 認証を必要とするプロキシはサポート対象外です。

その他のヘルプ