Bitbucket Pipelines のインフラストラクチャの変更

このページは Bitbucket Pipelines に対する内部インフラストラクチャの変更を追跡します。これがユーザーのビルドに影響することはほとんどありません。

2019 年 8 月 - ノードのコンテナ ランタイムの変更

8 月 7 日以降、kubernetes ビルド クラスタのノードは、docker ではなくコンテナで実行するように変更されます。この変更は、ほとんどの Bitbucket Pipelines ユーザーに対して透過的に行われます。


8 月 9 日更新: ロールアウトに伴い、2 件の問題を特定しました。

  • 旧式の Sonatype Nexus インスタンスで docker イメージをホストしているユーザーは、containerd 経由でイメージをプルできなくなります。https://support.atlassian.com/contact でサポート チケットを登録して移行からの除外を依頼し、Nexus インスタンスのアップグレードを検討してください (https://issues.sonatype.org/browse/NEXUS-12684 を参照)。
  • プライベート Docker イメージを bintray.com でホストしているユーザーは、containerd を使用したときに 401 Unauthorized レスポンスを受け取ります。アトラシアンではこの課題はプロバイダ側のものであることを特定し、解決に向けてプロバイダと取り組んでいます。次のリンクを使用してサポート チケットを登録し、問題解決までの間の containerd からの除外を依頼してください。 https://support.atlassian.com/contact

2019 年 4 月 - SSH キー スキャンをビルド環境内から実行

2019 年 4 月 17 日以降、SSH キー スキャンはビルド環境内から実行されるようになります。つまり、この機能を引き続き使用するには、Bitbucket Pipeline ビルド環境の有効な IP アドレスをホワイト リストに登録する必要があります。Bitbucket Pipelines サービス で使用されている IP アドレスをホワイトリストに登録する必要はありません。

会社ファイアウォールを構成する際に、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

2018 年 10 月 - 新しい発信 IP アドレス

2018 年 11 月 8 日以降、Bitbucket Pipelines サービス (アトラシアンのビルド インフラとは異なる) で新しい IP アドレスが使用されます。

会社ファイアウォールを構成する際に、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

2018 年 9 月 - Docker の変更 - Docker ユーザー ネームスペース再マッピング

2018 年 9 月 27 日、当社がパイプラインのセキュリティの強化のための手順の一環としてユーザーに提供している docker デーモンの docker で、ユーザー ネームスペース再マッピングを有効化するための変更をロールアウトしました。

2018 年 9 月 - 新しい発信 IP アドレス

2018 年 9 月 12 日、アトラシアンの Kubernetes インフラストラクチャ内で将来マルチリージョン フェイルオーバーを提供するために、ビルド インフラストラクチャに新しい IP アドレスを割り当てました。これらのアドレスは、今後 2 週間以内にアクティブになります。

会社ファイアウォールを構成する際に、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

2018 年 8 月 - EC2 M5d インスタンス タイプへの移行によるパフォーマンスの改善

2018 年 8 月 1 日、Kubernetes ノードを EC2 M4 インスタンスから M5d に変更しました。M5d インスタンスは EBS ボリュームではなく NVMe ドライブを使用します。このドライブははるかに高速で、基盤となるコンピューティング ハードウェア上に存在しているため、ドライブ上でストレージ ネットワークを介してデータを転送する際のオーバーヘッドは発生しません。

2018 年 3 月 - 新しい発信 IP アドレス

2018 年 3 月 15 日、アトラシアンのビルド インフラストラクチャに新しい IP アドレスがプロビジョニングされました。これらのアドレスは、今後 2 週間以内にアクティブになります。

会社ファイアウォールを構成する際に、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

2017 年 11 月 - Docker がサービスに追加 (1 GB のメモリ制限)

2017 年 11 月 28 日、Pipelines での docker-run サポートの実装の一部として、Docker が Pipelines のサービスの 1 つとして取り扱われるようになりました。Docker 経由で実行されるコマンドには 1 GB のメモリ制限があり、Docker を有効化するビルドはビルド ステップあたり 2 つの追加サービスのみを使用できます。

既存のビルドに、3 つのサービスを使用し、Docker を有効化しているものはほとんどありません。この構成で最近ビルドを実行したお客様には直接ご連絡させていただいています。

いずれかのサービスの実行を停止するか、1 つのサービスを変更して "docker run" を実行する (YAML の例) ことをお勧めします。Docker run のサポートは、同じビルド内で docker-compose ファイルを含む、複数の Docker コンテナを起動できる柔軟性も提供します。

2017 年 10 月 - 新しい発信 IP アドレス

2017 年 25 日、アトラシアンのビルド インフラストラクチャに新しい IP アドレスがプロビジョニングされました。

会社ファイアウォールを構成する際に、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

2017 年 9 月 - Docker のアップグレード

2017 年 9 月 7 日、Pipelines ビルド コンテナに提供される Docker デーモンを 1.12.6 から 17.05 に更新しました。

詳細は、https://bitbucket.org/site/master/issues/14333/upgrade-docker-for-multi-stage-builds を参照してください。

2017 年 2 月 - 新しいインフラストラクチャ

2017 年 2 月から、Pipelines のビルド インフラストラクチャの変更をロールアウトし、今後の新機能に対応するための基盤を提供します。Pipelines は引き続き、隔離された Docker コンテナ内でスクリプトを実行するため、ほとんどの人に対して変更の影響はありません。

以下の図のように、一部のユーザーに影響する可能性がある、軽微な変更があります。

ご利用のインフラストラクチャが新しいものかどうかを確認する方法

インフラストラクチャが更新されたものかどうかは、ログ ファイルで確認できます。一番上の "Build setup" セクションが大幅に短くなり、docker run コマンドが除外されるようになりました。

次のように、ログ ファイルの "Build setup" セクションに docker run コマンドが表示される場合、お使いのインフラストラクチャは古いものです。

変更内容

スクリプトは、インタラクティブなシェルでは実行されなくなりました

Pipelines は引き続き、.bashrc ファイルをインタラクティブな非ログイン シェルで実行しているかのように実行しますが、非インタラクティブ シェルとして動作するようになりました。この変更は、stdin を使用するスクリプトや、インタラクティブなシェルとの依存関係があるスクリプトに、影響する可能性があります。このような場合、スクリプトを更新して、非インタラクティブに実行するように変更することをおすすめします。

これにより、Bitbucket Pipelines の使用をさまざまな方法で向上させられるようになりました。

  • ユーザー入力を待機するコマンドは、入力を待機する間にビルドをハングさせるのではなく、直ちに終了してビルドを失敗させるようになります。
  • Git や Maven などの一部のツールは、インタラクティブなターミナルでダウンロードの進捗状況インジケーターを表示します。ビルドは非インタラクティブなため、Pipelines のログ出力が最適化され、多くのツールで進捗状況のインジケーターが改善されました。

無効な名前の環境変数がビルド コンテナに渡されなくなりました

無効な変数が新しく作成されるのを防ぐため、Pipelines では 2016 年 11 月から変数に対して有効な C 識別子 (一致する regex /[A-Za-z_][A-Za-z0-9_]*/) を要求するようになりました。ただし、古い無効な変数を構成しているお客様は現在でも少数います。

最近のインフラストラクチャの変更では、無効な名前の変数は、ビルド コンテナに渡されなくなります。無効な名前で作成された新しい変数を使用するには、これらの変数に依存するスクリプトを更新する必要があります。

公開 IP アドレス

このインフラストラクチャの変更は、Bitbucket Pipelines の IP アドレスを公開するようになったということを意味しています。AWS VPC や会社ファイアウォールへの Pipeline アクセスのホワイトリストを作成する場合には、これらのアドレスが必要となる場合があります。

Bitbucket および Pipelines のパブリック IP アドレスについては、「会社ファイアウォールを構成する際には、どの Bitbucket Cloud IP アドレスを使用する必要がありますか」を参照してください。

パブリック IP アドレスは将来変更される場合があります。

最終更新日 2019 年 8 月 12 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.