Skip to main content

ツールバージョンの設定

概要

Bitriseは、CIプロジェクトに適したバージョンのツールを自動的にセットアップできます。例えば、ほとんどの CI ワークフローは、プロジェクトと互換性のある適切なバージョンの Ruby や Node.js をインストールすることから始まります

Bitriseは、CIプロジェクトに適したバージョンのツールを自動的にセットアップできます。例えば、ほとんどの CI ワークフローは、プロジェクトと互換性のある適切なバージョンの Ruby や Node.js をインストールすることから始まります

Bitriseは、CI/CD環境専用のツールをシンプルかつ宣言的に設定する方法を提供しています。ツールを宣言するには、そのツールとそのバージョンを追加するだけです tools 設定 YAML ファイルの最上位にあるプロパティ:

tools:
  nodejs: 22:latest
  ruby: 3.3:installed
  golang: 1.24.5

workflows:
# ...

ビルドを実行すると、ワークフローの最初のステップの前にツールのセットアップが実行されます。ビルドログで確認できます。

20250808-build-log-tool-setup.png

バージョン番号の定義

ビルドの開始時に設定するツールのバージョン番号を定義するには、次の 3 つの方法があります。

  • 正確なバージョン番号を設定します。

  • バージョン番号の一部を設定します。

  • 特別なエイリアスを使用してください。

正確なバージョン番号の設定

で正確なバージョン番号を定義できます tools プロパティ:

tools:
  nodejs: 22.1.0

これにより、最も確定的な動作と再現性の高いビルドが可能になりますが、インストールには長い時間がかかる可能性があります。

バージョン番号の一部を設定する

プロジェクトに正確なツールバージョンが必要ない場合は、バージョン番号の一部を定義できます。バージョン番号の一部を指定すると、BitriseはBitriseビルドマシンにプリインストールされているバージョンか、入手可能な最新リリースバージョンのどちらかを確認します

ツールのプレインストール版については、 x.y:installed 構文:

tools:
  ruby: 3.3:installed

これにより、BitriseビルドマシンにどのRuby 3.3パッチバージョンがプリインストールされているかが確認され、そのバージョンが使用されています。プリインストールされたバージョンが部分バージョンと一致しない場合、最も一致するバージョンが実行時にダウンロードされ、インストールされます。ビルドは失敗しません

ツールの最新リリースバージョンについては、 x.y:latest 構文:

tools:
  ruby: 3.3:latest

これにより、Bitriseビルドマシンに何がプリインストールされているかに関係なく、最新の3.3パッチバージョンのRubyがインストールされます。

他のエイリアスを使う

スペシャルを使用することも可能です latest そして installed ツールの最新リリースバージョンまたはインストール数が最も多いバージョンを選択するバージョン文字列:

ザ・ installed value は、ビルド時に最もインストールされていたバージョンを使用することを意味します。

tools:
  ruby: installed

ザ・ latest value は、ビルド時にリリースされた最新バージョンを使用することを意味します。

tools:
  nodejs: latest

サポート対象ツール

このシステムは、増え続けるツールと言語をサポートするように設計されていますが、Bitriseはリストされている最も一般的なツールの安定性のみを検証およびテストします。ここに記載されていないツールが必要な場合は、コミュニティプラグインの使用方法の詳細をご覧ください

その他のツール

このページにリストされているツールが見つからない場合は、コミュニティプラグインを使用してツールを設定できます。コミュニティの場合 asdf 指定したツール用のプラグインが存在する場合、そのツールプラグインのプラグインを提供できる git clone コンフィグ内の URL。たとえば、以下のようにして適切なバージョンの Denoをセットアップします asdf プラグイン:

tools:
  deno: 2.4.3

tool_config:
  extra_plugins:
    deno: https://github.com/asdf-community/asdf-deno.git
表1 サポート対象ツール

ツール名

YAML の例

[メモ]

ルビー

3.3.x バージョンを使用する場合、インストール時間を節約するためにプレインストールバージョンを優先します。

tools:
  ruby: 3.3:installed

現時点では、Ruby バージョンは、以下を使用してソースからビルドする必要があります Ruby-build プロジェクトそのため、インストールするたびにビルドに数分かかります。

ビットライズスタック には常に複数のRubyバージョンがプリインストールされているので、プリインストールされたRubyを使用する部分バージョン (利用可能な場合) を使用するとインストール時間を短縮できます。

行く

1.24.0 バージョンのインストール:

tools:
  golang: 1.24.0

Python

3.12.x バージョンを使用し、インストール時間を節約するためにプレインストールバージョンを優先します。

tools:
  python: 3.12:installed

現時点では、Python バージョンはソースからビルドする必要があるため、インストールするたびにビルドに数分かかります。

ビットライズスタック 常にプリインストールされている Python バージョンが付属しているので、プリインストールされた Python を使用する部分バージョン (利用可能な場合) を使用することでインストール時間を避けることができます。

Node.js

22.x.y バージョンを使用し、インストール時間を節約するためにプレインストールバージョンを優先します。

tools:
  nodejs: 22:installed

フラッター

Flutterバージョンには、サフィックスとしてリリースチャンネルを含める必要があります。

tools:
  flutter: 3.32.5-stable

トゥイスト

4.54.0 バージョンのインストール:

tools:
  tuist: 4.54.0


制限事項と代替案

  • ビジュアルエディターなし: 現在のところ、この機能は設定 YAML でのみ設定可能です。

  • ワークフローレベルのカスタマイズなし: 今のところ、ツールのグローバル設定は 1 つだけです。これはすべてのワークフローとパイプラインに当てはまります。環境変数をグローバルとワークフローレベルの両方で定義する方法と同様に、将来的にはワークフローを対象とした構成を導入する予定です

  • 次のようなバージョンファイルにはアクセスできません .node-version または .tool-versions: この機能は CI/CD 環境のセットアップのみを目的としています (今のところ)。ツールバージョンファイルを Git にコミットし、CI とローカルの開発者環境を同期させたい場合は、次のようなバージョンマネージャーを使用するとよいでしょう Miseasdf または nvm どちらの環境でも。