ツールバージョンの設定
Bitriseは、CIプロジェクトに適したバージョンのツールを自動的にセットアップできます。例えば、ほとんどの CI ワークフローは、プロジェクトと互換性のある適切なバージョンの Ruby や Node.js をインストールすることから始まります
Bitriseは、CIプロジェクトに適したバージョンのツールを自動的にセットアップできます。例えば、ほとんどの CI ワークフローは、プロジェクトと互換性のある適切なバージョンの Ruby や Node.js をインストールすることから始まります
ツールを設定するには次の 2 つの方法があります。
-
宣言型の YAML ベースのメソッド:ツールとそのバージョンを
tools設定 YAML ファイルの最上位にあるプロパティ。次の方法から始めることをおすすめします 宣言型ツールのセットアップ. -
ワークフロー実行中のインストール:専用のBitrise StepまたはCLIサブコマンドを実行するスクリプトのいずれかを介してインストールします。 ワークフロー実行中のツールセットアップ。
適切なアプローチを選択しやすくするために、各方法の違いと制限を考慮してください。
|
宣言型構成 |
ワークフロー実行 |
|---|---|
|
ワークフローの最初のステップの前に自動的に実行されます。 |
ワークフロー内で手動で実行されます。ワークフローの途中でも実行できます。 |
|
バージョンファイルから設定を読み込めません:ツールセットアップはバージョンファイルの前に実行されます Git クローン ステップ 1。 ツールバージョンは 2 つのファイル (バージョンファイルと設定 YAML ファイル) で定義されます。 |
の後でコマンドを実行すると、バージョンファイルから構成を読み取ることができます Git クローン ステップ 1。 再利用性については、次のことをお勧めします。 を作成する |
|
追加の設定は不要:ツールは自動的に次の場所で利用できるようになります |
専用のステップでは追加の設定は不要です。 独自のスクリプトを使用する場合、現在のシェルまたはスクリプトステップでツールがアクティブになる前にシェルソースが必要です (詳細は以下を参照)。 |
|
ローカル開発環境を設定しません (ワークフローをローカルで実行する場合を除く) |
ツールのバージョンがバージョンファイルで定義されている場合、ローカル開発者環境を設定します (たとえば、 |
宣言型ツールのセットアップ
ツールとそのバージョンをに追加します tools 設定 YAML ファイルの最上位にあるプロパティ。:
tools: nodejs: 22:latest ruby: 3.3:installed golang: 1.24.5 workflows: # ...
ビルドを実行すると、ワークフローの最初のステップの前にツールのセットアップが実行されます。ビルドログで確認できます。

ビルドの開始時に設定するツールのバージョン番号を定義するには、次の 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がインストールされます。
ワークフロー固有の定義
ツールのバージョン定義は、グローバルに定義することも、1 つ以上のワークフロー専用に定義することもできます。定義する代わりに tools 設定の一番上のプロパティで、1 つまたは複数のワークフローの下にネストします。
キーワードを使用して、特定のワークフローの一部のツールの設定を解除することもできます unset。設定を解除すると、そのワークフローにはツールがインストールされなくなります。設定を解除しても、グローバルコンテキストでは効果がありません。
ワークフロー固有の定義を使用する場合は、次の 3 つの一般的なパターンのいずれかを使用することをお勧めします。
-
ワークフロー固有の定義のみ:
workflows: test: tools: nodejs: 22:installedこの例では、
testワークフローでは、Node.js v22 の最新プレインストールバージョンを使用します。グローバルツール定義は設定されていません -
1 つまたは複数のワークフローのグローバル定義をオーバーライドします。
tools: nodejs: 22:installed ruby: 3.3:installed workflows: test-latest-node: tools: nodejs: "24.7.0"この例では、グローバル設定は Node.js v22 の最もプレインストールされているバージョンです。ワークフロー
test-latest-nodeただし、Node.js バージョン 24.7.0 を使用しています。 -
1 つまたは複数のワークフローのグローバルツールバージョンの設定解除:
tools: nodejs: 22:installed ruby: 3.3:installed workflows: lint: tools: ruby: unset # this workflow only needs Node.jsこの例では、ワークフローは
lintRuby はインストールされません。
他のエイリアスを使う
スペシャルを使用することも可能です latest そして installed ツールの最新リリースバージョンまたはインストール数が最も多いバージョンを選択するバージョン文字列:
ザ・ installed value は、ビルド時に最もインストールされていたバージョンを使用することを意味します。
tools: ruby: installed
ザ・ latest value は、ビルド時にリリースされた最新バージョンを使用することを意味します。
tools: nodejs: latest
ワークフロー実行中のツールセットアップ
ワークフロー実行中にツールセットアップを実行するには、専用の依存関係インストーラーステップを使用するか、独自のスクリプトから呼び出す CLI サブコマンドを使用できます。
CLI サブコマンドによるツールセットアップ
に電話してください bitrise tools setup あなたのワークフローから。ツールは設定ファイルまたはバージョンファイルのパスを検索します。パスを指定しない場合、ツールはワーキングディレクトリ内のファイルを検出します。
この例では、からコマンドを呼び出しています スクリプト a を使ったステップ --config を検索するフラグ .tool-versions ファイル。
workflows:
build-and-test:
steps:
# Project stores tool config in a .tool-versions file committed to the repo
- git-clone: {}
- script:
title: Set up environment
inputs:
# Set up tools based on the .tool-versions file in the repo
- content: bitrise tools setup --config .tool-versions
# Rest of the workflow has access to the right tools and versions in $PATH
設定ファイルなしで特定のツールをインストールすることもできます。
bitrise tools install [--provider PROVIDER] [--format FORMAT] <TOOL> <VERSION>[:SUFFIX] # Examples: bitrise tools install nodejs 20.10.0 bitrise tools install nodejs 22:latest eval "$(bitrise tools install ruby 3.2.0 --format bash)" # activate in shell
デフォルトでは、実行中 bitrise tools setup 同じシェルセッションでツールの変更を有効にしない (例えば、ツールのセットアップとツールの使用が同じシェルセッションで行われる場合) スクリプト ステップ)。この例では、新しい Ruby バージョンをインストールしています。
#! /bin/bash bitrise tools setup --config .ruby-version ruby --version
このコマンドを a で実行すると スクリプト ステップ、 PATH 以前のバージョンの Ruby を引き続き指します。
以下を使用して、同じシェルセッションでツールをインストールしてアクティブ化できます。 eval:
eval "$(bitrise tools setup --config .ruby-version --format bash)" ruby --version # $PATH is updated with the newly set up ruby version
または、実行することもできます bitrise tools setup 別のステップで。
workflows:
build-and-test:
steps:
- git-clone: {}
- script:
title: Set up environment
inputs:
# Set up tools based on the .tool-versions file in the repo
- content: bitrise tools setup --config .tool-versions
# Rest of the workflow has access to the right tools and versions in $PATH
- cocoapods-install: {}
Dependency インストーラーステップによるツールセットアップ
ザ・ 依存関係インストーラー ステップは、ツールのインストールを実行する CLI サブコマンドのラッパーです。複数のタイプのツールバージョンファイルを受け入れます。詳細なリストについては、ステップの説明を参照してください
ステップを使用するには、ツールを必要とするステップの前にワークフローに追加してください。
steps:
- activate-ssh-key@4: {}
- git-clone@8: {}
- dependency-installer@1:
inputs:
- tool_version_file: ".tool-versions"
サポート対象ツール
このシステムは、増え続けるツールと言語をサポートするように設計されていますが、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
|
ツール名 |
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 |
|
|
Java |
Java 25 のインストール: tools: java: openjdk-25.0.0 |
|
|
フラッター |
Flutterバージョンには、サフィックスとしてリリースチャンネルを含める必要があります。 tools: flutter: 3.32.5-stable |
|
|
トゥイスト |
4.54.0 バージョンのインストール: tools: tuist: 4.54.0 |
ツールバージョンマネージャーの変更
Bitriseはツールバージョンマネージャーを使用して、実行時に必要なツールをインストールして提供します。主なマネージャーは ミス、しかし asdf もサポートされており、動作も同じです。何らかの理由で実装を切り替えたい場合は、次の方法で行えます
tool_config: provider: asdf
制限事項と代替案
-
ビジュアルエディターなし: 現在のところ、この機能は設定 YAML でのみ設定可能です。
-
専用のバージョン管理ツール: ツールのインストールには、このページで説明されている方法を使用することをお勧めします。
使用する必要がある場合
miseまたは別のツールを直接使用する場合は、スタックにはインストールされていないことに注意してください。公式の指示に従ってインストールする必要がありますasdfはデフォルトでスタックにインストールされます。特にエッジスタックでは、特定のバージョンをピン留めする保証はありませんasdf将来の Edge スタックで削除される可能性があります。