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

robotsnoindex
robotsnoindex

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

September 2020 - changes to docker in docker container filesystem permissions

Starting on 2nd September the docker in docker container's root filesystem will be read-only except for the directories required to use docker in order to harden security. The BITBUCKET_CLONE_DIR and its subdirectories, any other volumes you create, will remain writable.

2020 年 4 月 - containerd マイナー バージョン アップグレード

4 月 22 日より、Kubernetes ノードの containerd が 1.2.x から 1.3.4 にアップグレードされました。

4 月 29 日より、per-container shim ではなく per-pod shim を使用するために containerd-shim-runc-v2 に切り替えます。

2019 年 11 月 - Kubernetes クラスタのアップグレード

11 月 20 日より、すべてのお客様に Kubernetes クラスタのアップグレードを段階的にロールアウトします。この変更はユーザーに対して透過的に行われます。企業のファイアウォールの背後で実行していて、パイプラインの IP アドレスを最近許可リストに追加していない場合、https://ja.confluence.atlassian.com/bitbucket/what-are-the-bitbucket-cloud-ip-addresses-i-should-use-to-configure-my-corporate-firewall-343343385.html で情報を確認できます。

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

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


Update August 9th: We've identified 2 issues with the rollout:

  • Users with docker images hosted on outdated Sonatype Nexus instances will have trouble pulling images via  containerd. Please file a support ticket at https://support.atlassian.com/ja/contact to be excluded from the migration and consider upgrading the Nexus instance (see https://issues.sonatype.org/browse/NEXUS-12684).
  • Users with private docker images hosted on bintray.com will experience 401 Unauthorized response with containerd. We've identified the issue to be with the provider and are communicating with them on resolution. Please file a support ticket to be excluded from the containerd until the issue is resolved using the following link https://support.atlassian.com/ja/contact.

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

2019 年 4 月 17 日以降、SSH キー スキャンはビルド環境内から実行されるようになります。つまり、この機能を引き続き使用するには、Bitbucket Pipelines ビルド環境の有効な 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 や会社ファイアウォールへの Pipelines アクセスを許可リストに追加して実現する場合には、これらのアドレスが必要となる場合があります。

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

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

最終更新日 2020 年 9 月 2 日

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

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