Skip to main content

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バージョンをインストールする場合は、を確認してください。

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

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

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

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

    • 8

    • 11(デフォルト値)

    • 17

例1 YAML example

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

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

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

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

ステップと環境変数

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

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

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

  2. クリック ワークフロー メインページのボタン。

  3. ワークフローとパイプライン ページで、必要なワークフローを見つけます。

    workflow-and-pipelines.png
  4. クリック edit-webhook.svg ワークフロー名の横にあるボタンをクリックします。

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

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

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

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

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

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

  2. クリック ワークフロー メインページのボタン。

  3. ワークフローとパイプライン ページで、必要なワークフローを見つけます。

    workflow-and-pipelines.png
  4. クリック edit-webhook.svg ワークフロー名の横にあるボタンをクリックします。

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

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

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

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

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

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

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

  2. クリック ワークフロー メインページのボタン。

  3. ワークフローとパイプライン ページで、必要なワークフローを見つけます。

    workflow-and-pipelines.png
  4. クリック edit-webhook.svg ワークフロー名の横にあるボタンをクリックします。

  5. 追加します 脚本 ワークフローに進みます。

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

    以下の例では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"    
  7. 新しいビルドを開始します。この 脚本 ステップは、他に依存しないため、ワークフローの最初のステップにすることができます。