JetBrains Space ヘルプ

以前のバージョンからのアップグレード

Space On-Premises は前方更新のみをサポートしており、以前のバージョンにダウングレードすることはできません。Space インスタンスを更新する方法は、それがマイナー更新であるかメジャー更新であるかによって異なります。

マイナーアップデート

これらの更新により、Space のマイナーバージョンが変更されます (たとえば、2023.1.0 から 2023.1.1)。このような更新には重大な変更はなく、通常はバグ修正やセキュリティパッチが含まれます。

この手順では、Space On-Premises インスタンスが space-on-premises ディレクトリにインストールされることを暗示しています。

  1. Space インストールディレクトリを開きます。

    cd space-on-premises
  2. docker-compose.yml ファイルの最新バージョンを https://assets.on-premises.service.jetbrains.space/(英語) からダウンロードします。例: 最新バージョンが 2024.2.1 の場合:

    export SPACE_RELEASE_NAME="2024.2.1" curl -O "https://assets.on-premises.service.jetbrains.space/${SPACE_RELEASE_NAME}/docker-compose.yml"
  3. 以前の Space バージョン用に docker-compose.yml をカスタマイズした場合は、対応する変更を新しい docker-compose.yml に適用します。

  4. Space インスタンスを再起動します。

    docker-compose -p space-on-premises up
  1. チャートリポジトリのローカルデータを更新します。

    helm repo update
  2. Helm リリースをアップグレードします。

    helm -n ${KUBE_NAMESPACE} upgrade ${SPACE_RELEASE_NAME} ${HELM_REPO}/${CHART_NAME} -f values.yaml

    ここで、values.yaml は、現在の Space On-Premises インスタンスの値ファイルです。

主要なアップデート

これらの更新により、Space のメジャーバージョンが変更されます (たとえば、2023.1.1 から 2023.2.0、または 2024.2.1 から 2024.2.1)。このような更新により新しい機能が追加され、データベースやインフラストラクチャ構成の変更が必要になる場合があります。メジャーアップデートを実行するには、このセクションの説明に従って Space データを移行する必要があります。

新しいバージョンを実行する前に古いバージョンを完全にシャットダウンする必要があるため、ダウンタイムなしで移行を実行することはできません。必ずメンテナンス期間を計画し、今後のアクティビティについてユーザーに通知してください。

移行前

移行を開始する前に、Space データをバックアップすることを強くお勧めします。ここにでは、何をバックアップする必要があるかについての主な考慮事項を見つけることができます。

移行方法

データ移行プロセスは、Docker Compose インストールと Kubernetes インストールでは異なります。

わかりやすくするために、この手順では、現在の Space On-Premises インスタンスが space-on-premises-oldversion ディレクトリにインストールされていることを示しています。新しい Space On-Premises インスタンスは space-on-premises-newversion ディレクトリにインストールされます。

  1. 新しい Space インスタンスのインストールディレクトリを作成して開きます。

    mkdir -p space-on-premises-newversion && cd space-on-premises-newversion
  2. docker-compose.yml ファイルの最新バージョンを https://assets.on-premises.service.jetbrains.space/(英語) からダウンロードします。例: 最新バージョンが 2024.2.1 の場合:

    export SPACE_RELEASE_NAME="2024.2.1" curl -O "https://assets.on-premises.service.jetbrains.space/${SPACE_RELEASE_NAME}/docker-compose.yml"
  3. 以前の Space バージョン用に docker-compose.yml をカスタマイズした場合は、対応する変更を新しい docker-compose.yml に適用します。

  4. 移行には Space 構成ファイルの編集が必要です。つまり、ファイルを Space コンテナーからホストマシンにコピーする必要があります。以前に既存の Space インスタンスをカスタマイズしたことがある場合、これはすでに完了しています。そうでない場合は、space-on-premises-oldversion ディレクトリを開いて次を実行します。

    docker-compose -p space-on-premises run --entrypoint=cp -v {absolute_path_to_config_folder_on_host}:/home/copy-config init-configs -a /home/init-config/config/. /home/copy-config

    ここで、{absolute_path_to_config_folder_on_host} は、ホストマシン上の構成ファイルの宛先ディレクトリへのパスです。

  5. ここに従って、新しい Space インスタンス (space-on-premises-newversion ディレクトリ内のインスタンス) のカスタマイズを有効にします。

  6. space-on-premises-newversion ディレクトリを開き、新しい Space バージョンの構成ファイルを作成します。

    docker-compose -p space-on-premises run --entrypoint=sh init-configs /prepare_default_configs.sh
  7. パラメーター値を古いバージョンの構成ファイルから新しい Space バージョンのファイルにコピーします。値をコピーする必要があるファイルとパラメーターのリストは次のとおりです。

    • space.on-premises.conf :

      • circlet.masterSecret

      • circlet.oauth.accessToken.rsa.public

      • circlet.oauth.accessToken.rsa.private

      • circlet.oauth.message.encoding.key

      • circlet.oauth.twoFactor.encryptionKey

      • circlet.oauth.encryptionKey

      • circlet.oauth.messageSigning.rsa.public

      • circlet.oauth.messageSigning.rsa.private

      • circlet.vcs.secret

      • circlet.vcs.identity.email

      • circlet.vcs.identity.secretKey_base64

      • circlet.webhooks.key

      • circlet.packages.oauth.clientSecret

    • packages.on-premises.conf :

      • circlet.packages.oauth.clientSecret

    • vcs.on-premises.conf :

      • circlet.key

      • vcs.ssh.server.key.rsa.base64

      • Vcs.gpg.public_key.base64

  8. 新しい Space バージョンの packages.on-premises.conf ファイルに、circlet.masterSecret パラメーターを追加します。その値は space.on-premises.conf ファイル内の値と同じである必要があります。

  9. (この手順は、最初に Space On-Premises 2022.1.0-BETA でインスタンスを作成した場合にのみ関係します。Space On-Premises 2022.1.0 以降でインスタンスを作成した場合は、この手順をスキップしてください)。

    space-on-premises-newversion ディレクトリ内の docker-compose.yml ファイルを開きます。Space サービスの Java オプションを定義する行を見つけます。

    JAVA_OPTS: "-Dconfig.file=/home/space/circlet-server-onprem/config/space.on-premises.conf"
    さらにオプションを 1 つ追加します。
    JAVA_OPTS: "-Dconfig.file=/home/space/circlet-server-onprem/config/space.on-premises.conf -Dcirclet.organization.domain=jetbrains"

  10. space-on-premises-oldversion ディレクトリで次のコマンドを実行して、Space の現在のインスタンス (古いバージョン) を停止します。

    docker-compose -p space-on-premises down
  11. space-on-premises-newversion ディレクトリで次のコマンドを実行して、新しい Space インスタンスを開始します。

    docker-compose -p space-on-premises up -d

Kubernetes インストールでは、PostgreSQL、MinIO/S3 互換ストレージ、Elasticsearch、Redis が外部サービスとして構成されます。これらは、新しい Space On-Premises インスタンスで引き続き使用できます。

現在の Space インスタンスのバージョンを古いバージョンと呼び、アップグレードする予定の Space バージョンを新しいバージョンと呼びます。

  1. Space デプロイオブジェクトの名前を取得します。

    kubectl -n ${KUBE_NAMESPACE} get deployments -l app.kubernetes.io/name=space --output=jsonpath={..metadata.name}
  2. 手順 1 のオブジェクトに関連するすべての pods を正常にシャットダウンします。

    for deployment in $(kubectl -n ${KUBE_NAMESPACE} get deployments -l app.kubernetes.io/name=space --output=jsonpath={..metadata.name}); do kubectl -n ${KUBE_NAMESPACE} scale deploy ${deployment} --replicas=0 done
  3. 古いバージョンの Space On-Premises に関連するすべてのデプロイオブジェクトを削除します。

    for deployment in $(kubectl -n ${KUBE_NAMESPACE} get deployments -l app.kubernetes.io/name=space --output=jsonpath={..metadata.name}); do kubectl -n ${KUBE_NAMESPACE} delete deploy ${deployment} done
  4. helm install (Kubernetes のインストールを参照) を使用して Space On-Premises インスタンスをインストールした場合は、Helm リリースをアップグレードします。

    helm -n ${KUBE_NAMESPACE} upgrade ${SPACE_RELEASE_NAME} ${HELM_REPO}/${CHART_NAME} -f values.yaml

    ここで、values.yaml は、現在の Space On-Premises インスタンスの値ファイルです。

    あるいは、現在の Space インスタンスのマニフェストを生成し、kubectl で適用することもできます。

    helm -n ${KUBE_NAMESPACE} template ${SPACE_RELEASE_NAME} ${HELM_REPO}/${CHART_NAME} -f values.yaml | kubectl -n ${KUBE_NAMESPACE} apply -f-

関連ページ:

Kubernetes クラスターに Space をインストールする

このガイドでは、Helm を使用してローカル Kubernetes クラスターに Space On-Premises をインストールする方法を説明します。インストール要件:Kubernetes バージョン 1.21 以降 Helm バージョン 3.6.0 以降クラスターワーカークラスターには少なくとも 5 つのワーカーがあります。OS: Linux、プラットフォーム: x86_64/amd64、推奨される最小リソース: 4 つの CPU コアと 8GB のメモリ、名前空間専用の Kubernetes...

Docker Compose 実稼働環境用の Space の構成

Space オンプレミスインスタンスのカスタマイズを有効にする:Space On-Premises の Docker Compose インストールには、すぐに使用できる事前定義された構成が付属しています。ただし、Space On-Premises を運用環境で動作させるには、追加の構成を実行する必要があります。Space オンプレミス構成は、Space アプリケーションコンテナーに保存されるファイルのセットです。Space オンプレミスを構成するには、ファイルをホストマシンにコピーして変更し、...

Kubernetes のインストール

Space On-Premises の Kubernetes インストールは、より大きなワークロードの処理に適したスケーラブルなソリューションを提供します。クラスター自体は、独自の環境、Amazon Elastic Kubernetes Service、Google Kubernetes Engine、または Kubernetes をサポートするその他のクラウドサービスで実行できます。サポートされる Kubernetes の最小バージョンは 1.21 です。概要:ユーザーは、モバイルアプリ、W...

Space オンプレミスライセンスを更新または変更する

次の手順に従ってください。ライセンスの有効期限が切れた場合、または期限が近づいている場合は、サブスクリプションを更新してください。ハイエンドのサブスクリプションプランにアップグレードしてください。より安価な、または無料のサブスクリプションプランにダウングレードします。JetBrains アカウントページに移動します。Space オンプレミスインスタンスの登録に使用したユーザー名 / メールを使用して JetBrains アカウントにサインインしていることを確認してください。左側のパネルで、組織名...