Javaバージョンの管理
すべてのBitrise仮想マシンには、Java 8、Java 11、およびJava17がプリインストールされています。デフォルトのバージョンはJava17ですが、いつでもバージョンを切り替えることができます。
デフォルトでは、すべてのBitriseスタックにはJava 11がプリインストールされており、すぐに使用できます。別のバージョンに切り替えない場合、ビルドはJava11を使用します。
今のところ、Java 8はすべてのスタックタイプで利用できますが、Java 8に切り替えるプロセスは、MacOSベースのスタックと比較してUbuntuベースのスタックではわずかに異なります。
-
Java 8
-
Java 17
バージョンはいつでも切り替えることができます。別のJavaバージョン(たとえば、14)をインストールすることもできます。
Potential issues with Java versions
Using a new Java version, or switching Java versions during a build might cause unexpected issues:
Javaバージョンの設定ステップでJavaバージョンを設定する
Java8とJava11を簡単に切り替えることができます。 Javaバージョンを設定する ステップ。このステップでは、ビルドを実行する仮想マシンのグローバルJavaバージョンを設定できます。
新しいJavaバージョンのインストール
このステップでは、Javaバージョンをインストールできません。スタックにプリインストールされているバージョンのみを切り替えることができます。デフォルトでスタックで使用できないJavaバージョンをインストールする場合は、を確認してください。
-
追加します Javaバージョンを設定する ワークフローに進みます。ワークフローの最初のステップとして設定することをお勧めします。
-
を見つける ビルド用にグローバルに設定されるJavaバージョン 入力。
-
必要なバージョンに設定してください。あなたはから選ぶことができます
と 。オプションは次のとおりです。
-
8
-
11(デフォルト値)
-
17
-
In this example, we're setting the Java version to 17 in the bitrise.yml
file.
primary: steps: - set-java-version@1: inputs: - set_java_version: '17'
スクリプトステップを使用したJavaバージョンの設定
使用したくない場合 Javaバージョンを設定する ビルドマシンでデフォルトのJavaバージョンを変更する手順は、必要ありません。同じことを次の方法で実行できます。 脚本 ステップ。
私たちの AndroidとDocker スタックはUbuntuを搭載した仮想マシンで実行されますが、 Xcode と Visual Studio for Mac スタックはmacOSで実行されます。プロセスはスタックタイプごとに少し異なりますが、すべてのスタックで、異なるJavaバージョンに切り替えるには次の3つのことが必要です。
-
Java自体とJavaコンパイラを選択したバージョンに設定します。
-
の設定
JAVA_HOME
環境変数 とともにexport
指図。 -
この環境変数の保存
envman
そのため、ワークフローのすべてのステップからアクセスできます。
ステップと環境変数
envmanが必要なのは、それがないと、Stepsがお互いにアクセスできないためです。 環境変数。 1つのステップにのみJava環境を設定し、それをenvmanと一緒に保存しない場合、他のステップはデフォルトのJava環境であるJava11を使用します。
macOSベースのスタックの場合
-
でアプリを開きます ビットライズ。
-
クリック
メインページのボタン。 -
で ワークフローとパイプライン ページで、必要なワークフローを見つけます。
-
クリック
ワークフロー名の横にあるボタンをクリックします。
-
追加する 脚本 何らかの方法でJavaを使用するステップの前にワークフローにステップします。
これを行う最も簡単な方法は、ワークフローの最初のステップとして配置することです。
-
次のコマンドをに追加します スクリプトコンテンツ ステップの入力:
-
ビルドのグローバルJavaバージョンをJava11に設定するには、次のようにします。
jenv global 11 export JAVA_HOME="$(jenv prefix)" envman add --key JAVA_HOME --value "$(jenv prefix)"
-
ビルドのグローバルJavaバージョンをJava8に設定するには:
jenv global 1.8 export JAVA_HOME="$(jenv prefix)" envman add --key JAVA_HOME --value "$(jenv prefix)"
-
-
クリック 保存する 右上隅にあります。
Ubuntuベースのスタックの場合
-
でアプリを開きます ビットライズ。
-
クリック
メインページのボタン。 -
で ワークフローとパイプライン ページで、必要なワークフローを見つけます。
-
クリック
ワークフロー名の横にあるボタンをクリックします。
-
追加する 脚本 何らかの方法でJavaを使用するステップの前にワークフローにステップします。
これを行う最も簡単な方法は、ワークフローの最初のステップとして配置することです。
-
次のコマンドをに追加します スクリプトコンテンツ ステップの入力:
-
ビルドのグローバルJavaバージョンをJava11に設定するには、次のようにします。
sudo update-alternatives --set javac /usr/lib/jvm/java-11-openjdk-amd64/bin/javac sudo update-alternatives --set java /usr/lib/jvm/java-11-openjdk-amd64/bin/java export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64' envman add --key JAVA_HOME --value '/usr/lib/jvm/java-11-openjdk-amd64'
-
ビルドのグローバルJavaバージョンをJava8に設定するには:
sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java export JAVA_HOME='/usr/lib/jvm/java-8-openjdk-amd64' envman add --key JAVA_HOME --value '/usr/lib/jvm/java-8-openjdk-amd64'
-
-
クリック 保存する 右上隅にあります。
AndroidスタックへのJavaバージョンのインストール
AndroidスタックにインストールされていないJavaまたはJDKバージョンが必要な場合は、このガイドに従ってください。以下の例では、Java / JDK1.14をインストールします。 脚本 ステップ。あなたはそれをあなたの選んだバージョンに適応させることができます。
-
でアプリを開きます ビットライズ。
-
クリック
メインページのボタン。 -
で ワークフローとパイプライン ページで、必要なワークフローを見つけます。
-
クリック
ワークフロー名の横にあるボタンをクリックします。
-
追加します 脚本 ワークフローに進みます。
-
の中に スクリプトコンテンツ ステップの入力、スクリプトを追加します:
以下の例ではJava14をインストールしますが、自由に置き換えてください。
openjdk-14-jdk
とjava-1.14.0-openjdk-amd64
選択したバージョンのパーツ。#!/bin/bash set -ex add-apt-repository -y ppa:openjdk-r/ppa apt-get update -qq apt-get install -y openjdk-14-jdk update-java-alternatives -s /usr/lib/jvm/java-1.14.0-openjdk-amd64 echo "done"
-
新しいビルドを開始します。この 脚本 ステップは、他に依存しないため、ワークフローの最初のステップにすることができます。