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

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

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

8 月 30 日より、すべてのお客様に対して Kubernetes クラスタを v1.19.7 から v1.20 にアップグレードします。この変更はユーザーが確認できない形で行われます。会社のファイアウォールの背後で実行していて、パイプラインの IP アドレスを許可リストに最近登録していない場合は、「会社のファイアウォールを構成するための IP アドレスは何ですか」をご参照ください。

2021 年 8 月 - コンテナー ランタイムのアップグレード

8 月 24 日より、runc1.0.0-rc10 から runc1.0.0-rc95 に、また containerd1.4.3 から containerd1.5.0 に、それぞれアップグレード バージョンをロールアウトします。このアップグレードの詳細については、Bitbucket Pipelines: containerd および runc アップグレード コミュニティの投稿をご確認ください。

2021 年 5 月 - Flatcar OS アップグレードのロールバック

Kubernetes FlatcarOS v2765.2.2 にアップグレード後、ActiveStorage::IntegrityError と yarn の各ビルドがハングして Ruby/Rails が失敗するエラーが検出されました。このため、Kubernetes FlatcarOS v2605.12.0 にロールバックしています。

2021 年 5 月 - Flatcar OS のアップグレード

5 月 4 日より、すべてのお客様を対象に Kubernetes Flatcar OS が v2765.2.2 にアップグレードされます。この変更はユーザーに対して透過的に行われます。

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

3 月 29 日より、Kubernetes ノードの containerd を v1.3.9 から v1.4.3 にアップグレードします。この最新バージョンのアップグレードでは、python:3.5.1 や redis:2.8.23 など、一部の古いイメージの特定のバージョンへの containerd のサポートを終了しました。問題を修正するには、最新バージョンに更新してください。

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

3 月 1 日より、すべてのお客様に対して Kubernetes クラスタを v1.18.0 から v1.19.7 にアップグレードします。この変更はユーザーに対して透過的に行われます。会社のファイアウォールの背後で実行していてパイプラインの IP アドレスを許可リストに最近登録していない場合は、「会社ファイアウォールを構成するための IP アドレスは何ですか」を参照してください。

2021 年 2 月 - Kata Container へのランタイム環境の移行

3 月 1 日より 、Docker & Containerd から Kata Container 軽量仮想マシンへの移行をロールアウトして、Standard と Premium Bitbucket Cloud のお客様のワークロードの分離とセキュリティを強化します。Free プランのユーザーはすでに移行されています。この変更はユーザーに対して透過的に行われます。

2021 年 2 月 - Flatcar OS のアップグレード

2 月 17 日より、すべてのお客様を対象に Kubernetes Flatcar OS が v2605.12.0 にアップグレードされます。この変更はユーザーに対して透過的に行われます。

2021 年 2 月 - Git LFS クライアントのアップグレード

2021 年 2 月に、Git LFS クライアントのバージョンを 2.6.0 から 2.13.2 へアップグレードしました。この変更はユーザーに対して透過的に行われます。

2021 年 2 月 - Docker daemon の変更

2 月 3 日より、更新バージョンを 19.03.13 から 19.03.15 へ段階的にロール アウトします。

2021 年 1 月 - FlatcarOS のアップグレード

1 月 27 日より、すべてのお客様に対して Kubernetes FlatcarOS を v2605.10.0 にアップグレードします。この変更はユーザーに対して透過的に行われます。

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

1 月 20 日より、Kubernetes ノードの containerd が v1.3.4 から v1.3.9 にアップグレードされます。

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

1 月 20 日より、すべてのお客様に対して Kubernetes クラスタを v1.17.9 から v1.18.10 にアップグレードします。この変更はユーザーに対して透過的に行われます。会社のファイアウォールの背後で実行していて、パイプラインの IP アドレスを許可リストに最近登録していない場合、「会社ファイアウォールを構成するための IP アドレスは何ですか」を参照してください。

2020 年 12 月 - Kubernetes クラスタの追加。

複数のパイプラインでビルドを実行するために、新しい Kubernetes クラスタを追加しました。この変更はユーザーに対して透過的に行われます。会社のファイアウォールの背後で実行していて、パイプラインの IP アドレスを許可リストに最近登録していない場合、「会社ファイアウォールを構成するための IP アドレスは何ですか」を参照してください。

2020 年 11 月 - Kubernetes ノード OS のアップグレード

11 月 11 日より、Kubernetes ビルト ノードを実行するオペレーティング システムの更新バージョンをロール アウトします。これには、Linux カーネル バージョンの 4.19.143 から 5.4.72 への変更も含まれます。この変更はユーザーに対して透過的に行われます。

2020 年 11 月 - Docker daemon の変更

11 月 2 日から 11 月 10 日まで、更新バージョンを 18.09.9 から 19.03.13 へ段階的にロール アウトします。

2020 年 9 月 - Docker daemon の変更

Docker サービスで使用される Docker daemon バージョンは 18.09.1 から 18.09.9 へ更新されています

2020 年 9 月 - Docker コンテナのファイル システムで Docker の権限を変更

9 月 2 日以降、Docker コンテナのルート ファイルシステムで Docker は読み取り専用となります (セキュリティ強化のために Docker の使用が必要なディレクトリを除きます)。BITBUCKET_CLONE_DIR およびそのサブディレクトリ、ユーザーが作成するその他のボリュームは引き続き書き込み可能です。

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 アドレスを許可リストに最近登録していない場合、「会社ファイアウォールを構成するための IP アドレスは何ですか」を参照してください。

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

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 レスポンスを受け取ります。Atlassian ではこの課題はプロバイダー側のものであることを特定し、解決に向けてプロバイダーと取り組んでいます。次のリンクを使用してサポート チケットを登録し、問題解決までの間の containerd からの除外を依頼してください。https://support.atlassian.com/contact

2019 年 4 月 - SSH keyscan をビルド環境内から実行

2019 年 4 月 17 日以降、SSH keyscan はビルド環境内から実行されるようになります。つまり、この機能を引き続き使用するには、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 年 10 月 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 アドレスは将来変更される場合があります。

最終更新日 2021年09月 2日)
次でキャッシュ 7:12 PM on Oct 21, 2021 |

その他のヘルプ