スタック更新ポリシー

スタック bitrise.io 通常、週末ごとに更新されますが、更新される内容はスタックによって異なります。特定のキャッシュのみが更新されるスタックと、毎週完全に再構築されるスタックがあります。私たちのスタックをチェックしてください システムはGithubサイトを報告します

Xcodeスタックの更新

Bitriseでは、安定スタックとエッジスタックの2種類のXcodeスタックを使用します。

  • Xcode Stable スタックは、メジャーXcodeバージョンの新しいマイナーバージョンがリリースされたときに構築されます。たとえば、Xcode12.5.xには独自の安定したスタックがあります。これらのスタックは、Xcodeパッチバージョン、Bitrise CLI関連の更新、依存関係マネージャーのキャッシュの更新、および重要な修正でのみ更新されます。これらのスタックは、ビルドがスタックで機能した場合、スタックが使用可能である限り、同じビルドが同じ方法で実行されるように設計されています。

  • NS Xcodeエッジ スタックは 毎週再建。これには、Xcodeの最新の安定版リリース、Stableスタックと同じプリインストールツール、および依存関係マネージャーのキャッシュ更新が含まれています。スタックは同じものを使用します スクリプト 新しいXcodeスタックの作成に使用します。

Xcodeバージョンの固定

新しいXcodeバージョンがリリースされるたびに、私たちの目的は、できるだけ早くそれをユーザーに提供することです。ただし、ビルドが破損する可能性があるため、既存の安定したスタックを新しいXcodeバージョンで更新しません。代わりに、新しいバージョンで新しいスタックを提供し、古いバージョンを維持し続けます。

依存関係マネージャーのキャッシュ更新について

すべてのmacOSスタックは、依存関係マネージャーのキャッシュ更新(brew、cocoapods、bitrise CLI)を毎週受け取ります。これらのキャッシュの更新は、プレインストールされたツールのバージョンを変更しません。 パッケージマネージャーのキャッシュのみを更新します 依存関係のインストールを高速化します。

AndroidとDockerのスタック

Android / Linuxスタックは docker、複数の個別のDockerイメージを使用して、互いの上に構築されます。これらのDockerイメージはで見つけることができます GitHub

  • NS AndroidとDocker、Ubuntu スタックは ローリングリリーススタック、ベースのUbuntuイメージから自動的に再構築されます。

  • NS AndroidとDocker、Ubuntu-LTSスタック イメージは、以前のローリングリリースイメージの「フリーズ」バージョンであり、まったく更新されません(Bitrise CLI関連の更新と重要な修正を除く)。

Visual Studio forMacスタック

Visual Studio for Macスタックは、最新のStable Xcodeスタックの上に構築されるため、ベースXcodeスタックのプレインストールされた構築ツールは更新されず、ベースXcodeスタックと同じです。 Xamarin固有のビットは、ベースXcodeイメージの上に適用されます 毎週 Visual Studio for Macスタックを生成する場合(このAnsibleプレイブックを使用する)。

依存関係マネージャーのキャッシュ更新は、これらのスタックにも適用されます。 Visual Studio for Macスタックは、最新のVisual Studio forMacバージョンにアップグレードされます。 毎週末

つまり、Visual Studio for Macスタックは、安定したベースXcodeスタック上に構築されたハイブリッドスタックですが、特定のVisual Studio forMacおよびXamarin固有のビットと更新を毎週適用します。

全部で3つのハイブリッドスタックがあります。

  • NS Visual Studio for Mac、安定したチャネル そしてその Visual Studio for Mac、ベータチャネル スタックは、現在のVisual Studio 4 MacStableおよびBetaリリースで毎週末更新されます。

  • NS 以前のVisualStudio for Mac、安定したチャネル 以前のバージョンのVisualStudio forMacに保持されます。