Javaバージョンの管理

概要

すべてのBitrise仮想マシンには、Java 8、Java 11、およびJava17がプリインストールされています。デフォルトのバージョンはJava17ですが、いつでもバージョンを切り替えることができます。

デフォルトでは、すべてのBitriseスタックにはJava 11がプリインストールされており、すぐに使用できます。別のバージョンに切り替えない場合、ビルドはJava11を使用します。

今のところ、Java 8はすべてのスタックタイプで利用できますが、Java 8に切り替えるプロセスは、MacOSベースのスタックと比較してUbuntuベースのスタックではわずかに異なります。

  • Java 8

  • Java 17

バージョンはいつでも切り替えることができます。別のJavaバージョン(たとえば、14)をインストールすることもできます。

Javaバージョンの設定ステップでJavaバージョンを設定する

Java8とJava11を簡単に切り替えることができます。 Javaバージョンを設定する ステップ。このステップでは、ビルドを実行する仮想マシンのグローバルJavaバージョンを設定できます。

新しいJavaバージョンのインストール

このステップでは、Javaバージョンをインストールできません。スタックにプリインストールされているバージョンのみを切り替えることができます。デフォルトでスタックで使用できないJavaバージョンをインストールする場合は、を確認してください。

  1. 追加します Javaバージョンを設定する ワークフローに進みます。ワークフローの最初のステップとして設定することをお勧めします。

  2. を見つける ビルド用にグローバルに設定されるJavaバージョン 入力。

  3. 必要なバージョンに設定してください。あなたはから選ぶことができます 811

    オプションは次のとおりです。

    • 8

    • 11(デフォルト値)

    • 17

スクリプトステップを使用したJavaバージョンの設定

使用したくない場合 Javaバージョンを設定する ビルドマシンでデフォルトのJavaバージョンを変更する手順は、必要ありません。同じことを次の方法で実行できます。 脚本 ステップ。

私たちの AndroidとDocker スタックはUbuntuを搭載した仮想マシンで実行されますが、 XcodeVisual Studio for Mac スタックはmacOSで実行されます。プロセスはスタックタイプごとに少し異なりますが、すべてのスタックで、異なるJavaバージョンに切り替えるには次の3つのことが必要です。

  • Java自体とJavaコンパイラを選択したバージョンに設定します。

  • の設定 JAVA_HOME 環境変数 とともに export 指図。

  • この環境変数の保存 envman そのため、ワークフローのすべてのステップからアクセスできます。

ステップと環境変数

envmanが必要なのは、それがないと、Stepsがお互いにアクセスできないためです。 環境変数。 1つのステップにのみJava環境を設定し、それをenvmanと一緒に保存しない場合、他のステップはデフォルトのJava環境であるJava11を使用します。

macOSベースのスタックの場合

  1. でアプリを開きます ビットライズ

  2. に移動します ワークフロー タブ。

  3. からワークフローを選択します ワークフロー ドロップダウンメニュー。

    Installing any additional tools
  4. 追加する 脚本 何らかの方法でJavaを使用するステップの前にワークフローにステップします。

    これを行う最も簡単な方法は、ワークフローの最初のステップとして配置することです。

  5. 次のコマンドをに追加します スクリプトコンテンツ ステップの入力:

    • ビルドのグローバル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)"   
  6. クリック 保存する 右上隅にあります。

Ubuntuベースのスタックの場合

  1. でアプリを開きます ビットライズ

  2. に移動します ワークフロー タブ。

  3. からワークフローを選択します ワークフロー ドロップダウンメニュー。

    Installing any additional tools
  4. 追加する 脚本 何らかの方法でJavaを使用するステップの前にワークフローにステップします。

    これを行う最も簡単な方法は、ワークフローの最初のステップとして配置することです。

  5. 次のコマンドをに追加します スクリプトコンテンツ ステップの入力:

    • ビルドのグローバル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'
      
  6. クリック 保存する 右上隅にあります。

AndroidスタックへのJavaバージョンのインストール

AndroidスタックにインストールされていないJavaまたはJDKバージョンが必要な場合は、このガイドに従ってください。以下の例では、Java / JDK1.14をインストールします。 脚本 ステップ。あなたはそれをあなたの選んだバージョンに適応させることができます。

  1. でアプリを開きます ビットライズ

  2. に移動します ワークフロー タブ。

  3. からワークフローを選択します ワークフロー ドロップダウンメニュー。

    Installing any additional tools
  4. 追加します 脚本 ワークフローに進みます。

  5. の中に スクリプトコンテンツ ステップの入力、スクリプトを追加します:

    以下の例ではJava14をインストールしますが、自由に置き換えてください。 openjdk-14-jdkjava-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"    
  6. 新しいビルドを開始します。この 脚本 ステップは、他に依存しないため、ワークフローの最初のステップにすることができます。