5.2. Karaf での Fuse スタンドアロンのアップグレード
以下の手順で、Fuse on Apache Karaf をアップグレードする方法を順を追って説明します。アップグレード手順を開始する前に、すべての前提条件が満たされていることを確認します。
前提条件
- アップグレードする前に、Fuse on Apache Karaf インストールの完全バックアップを作成している。
- コンテナーがまだ実行されていない場合は起動している。
コンテナーがバックグラウンド (またはリモート) で実行されている場合は、SSH コンソールクライアント bin/client
を使用してコンテナーに接続します。
patch:add
コマンドを呼び出して、アップグレードのインストーラーファイルをコンテナーの環境に追加します。たとえば、fuse-karaf-7.9.0.fuse-790071-redhat-00001.zip アップグレードインストーラーファイルを追加するには、次のようにします。patch:add file:///path/to/fuse-karaf-7.6.0.fuse-760025-redhat-00001.zip
手順
patch:update
コマンドを実行します。コンテナーを再起動する必要はありません。karaf@root()> patch:update Current patch mechanism version: 7.1.0.fuse-710023-redhat-00001 New patch mechanism version detected: 7.2.0.fuse-720035-redhat-00001 Uninstalling patch features in version 7.1.0.fuse-710023-redhat-00001 Installing patch features in version 7.2.0.fuse-720035-redhat-00001
patch:list
コマンドを呼び出し、アップグレードインストーラーの一覧を表示します。このリストで、[name]
見出しの下にあるエントリーはアップグレード ID です。以下に例を示します。karaf@root()> patch:list [name] [installed] [rollup] [description] fuse-karaf-7.2.0.fuse-720035-redhat-00001 false true fuse-karaf-7.2.0.fuse-720035-redhat-00001
以下のように、
patch:simulate
コマンドを呼び出し、適用するアップグレードのアップグレード ID を指定して、アップグレードをシミュレートします。karaf@root()> patch:simulate fuse-karaf-7.2.0.fuse-720035-redhat-00001 INFO : org.jboss.fuse.modules.patch.patch-management (226): Installing rollup patch "fuse-karaf-7.2.0.fuse-720035-redhat-00001" ========== Repositories to remove (9): - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-710018-redhat-00002/xml/features ... ========== Repositories to add (9): - mvn:io.hawt/hawtio-karaf/2.0.0.fuse-720044-redhat-00001/xml/features ... ========== Repositories to keep (10): - mvn:org.apache.activemq/artemis-features/2.4.0.amq-711002-redhat-1/xml/features ... ========== Features to update (100): [name] [version] [new version] aries-blueprint 4.2.0.fuse-710024-redhat-00002 4.2.0.fuse-720061-redhat-00001 ... ========== Bundles to update as part of features or core bundles (100): [symbolic name] [version] [new location] io.hawt.hawtio-log 2.0.0.fuse-710018-redhat-00002 mvn:io.hawt/hawtio-log/2.0.0.fuse-720044-redhat-00001 ... ========== Bundles to reinstall as part of features or core bundles (123): [symbolic name] [version] [location] com.fasterxml.jackson.core.jackson-annotations 2.8.11 mvn:com.fasterxml.jackson.core/jackson-annotations/2.8.11 ... Simulation only - no files and runtime data will be modified. karaf@root()>
これにより、アップグレードの実行時にコンテナーに加えられる変更のログが生成されますが、実際にはコンテナーに何の変更も加えません。シミュレーションログを確認し、コンテナーに加えられる変更を確認します。
patch:install
コマンドを呼び出し、適用するアップグレードのアップグレード ID を指定して、コンテナーをアップグレードします。以下に例を示します。karaf@root()> patch:install fuse-karaf-7.6.0.fuse-760025-redhat-00001
アップグレードアーティファクトのいずれかを検索して、アップグレードを検証します。たとえば、Fuse 7.1.0 を Fuse 7.2.0 にアップグレードしたばかりの場合、ビルド番号 7_11_0-00023-redhat-00001 のバンドルを次のように検索できます。
karaf@root()> bundle:list -l | grep 760032 22 │ Active │ 80 │ 7.6.0.fuse-760025-redhat-00001 │ mvn:org.jboss.fuse.modules/fuse-pax-transx-tm-narayana/7.6.0.fuse-760025-redhat-00001 188 │ Active │ 80 │ 7.6.0.fuse-760025-redhat-00001 │ mvn:org.jboss.fuse.modules.patch/patch-commands/7.6.0.fuse-760025-redhat-00001
アップグレード後にコンテナーを再起動すると、新しいバージョンとビルド番号が Welcome バナーにも表示されます。