2.3. CLI の実行
Migration Toolkit for Applications (MTA) CLI は、1 つ以上のアプリケーションに対して実行できます。
MTA 7.1.0 より前では、複数のアプリケーションに対して CLI を実行する場合、一連の --analyze コマンドをそれぞれアプリケーションに対して実行し、それぞれ個別のレポートを生成していました。このオプションは、引き続き完全にサポートされており、1 つのアプリケーションに対して MTA CLI を実行する で説明されています。
MTA 7.1.0 以降では、--bulk オプションを使用して複数のアプリケーションに対して CLI を実行し、1 つのレポートを生成できます。開発者プレビューとして提供中のこのオプションについては、複数のアプリケーションに対して MTA CLI を実行し、1 つのレポートを生成する (開発者プレビュー) で説明されています。
1 つ以上のアプリケーションに対する CLI の実行は、開発者プレビュー機能です。開発者プレビュー機能は、Red Hat ではいかなる形でもサポートされていません。また、機能的には完全ではなく、実稼働環境に対応していません。本番環境またはビジネスクリティカルなワークロードには、開発者プレビュー機能を使用しないでください。開発者プレビュー機能は、Red Hat 製品オファリングに含まれる可能性がある前に、今後の製品機能への早期アクセスを提供し、お客様が機能をテストし、開発プロセス中にフィードバックを提供できるようにします。これらの機能にはドキュメントがない可能性があり、いつでも変更または削除される可能性があり、テストは制限されています。Red Hat は、関連する SLA なしで、開発者プレビュー機能に関するフィードバックを送信する方法を提供する場合があります。
2.3.1. 1 つのアプリケーションに対して MTA CLI を実行する リンクのコピーリンクがクリップボードにコピーされました!
Migration Toolkit for Applications (MTA) CLI は、1 つのアプリケーションに対して実行できます。
手順
-
ターミナルを開き、
<MTA_HOME>/ディレクトリーに移動します。 mta-cliスクリプト (Windows の場合はmta-cli.exe) を、適切な引数を指定して実行します。./mta-cli analyze --input <path_to_input> \ --output <path_to_output> --source <source_name> --target <target_source> \$ ./mta-cli analyze --input <path_to_input> \ --output <path_to_output> --source <source_name> --target <target_source> \Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--input: 評価されるアプリケーション。 -
--output: 生成されたレポートの出力ディレクトリー。 -
--source: アプリケーション移行元のテクノロジー。たとえば、weblogicです。 -
--target: アプリケーション移行先のテクノロジー。たとえば、eap8です。
-
- レポートにアクセスします。
2.3.1.1. MTA コマンドの例 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションアーカイブでの MTA の実行
次のコマンドでは、JBoss EAP 5 から JBoss EAP 7 に移行するために、jee-example-app-1.0.0.ear という名前のサンプル EAR アーカイブを分析します。
<MTA_HOME>/mta-cli analyze \
--input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> --source eap5 --target eap7 \
$ <MTA_HOME>/mta-cli analyze \
--input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> --source eap5 --target eap7 \
ソースコードに対する MTA の実行
次のコマンドでは、JBoss EAP 8 に移行するために、customer-management というサンプルアプリケーションのソースコードを分析します。
<MTA_HOME>/mta-cli analyze --mode source-only --input <path_to_customer-management>
$ <MTA_HOME>/mta-cli analyze --mode source-only --input <path_to_customer-management>
--output <path_to_report_output> --target eap8
cloud-readiness ルールの実行
次のコマンドでは、JBoss EAP 7 に移行するために、jee-example-app-1.0.0.ear という名前のサンプル EAR アーカイブを分析します。また、アーカイブがクラウド対応しているかどうかも評価します。
<MTA_HOME>/mta-cli analyze --input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> \
--target eap7
$ <MTA_HOME>/mta-cli analyze --input <path_to_jee-example-app-1.0.0.ear> \
--output <path_to_report_output> \
--target eap7
2.3.2. 複数のアプリケーションに対して MTA CLI を実行し、1 つのレポートを生成する (開発者プレビュー) リンクのコピーリンクがクリップボードにコピーされました!
複数のアプリケーションに対して Migration Toolkit for Applications (MTA) CLI を実行し、1 つに結合されたレポートを生成できるようになりました。これにより、時間を節約でき、移行に向けて一連のアプリケーションを準備する方法をより適切に把握できます。
この機能は現在、開発者プレビュー機能です。
1 つ以上のアプリケーションに対する CLI の実行は、開発者プレビュー機能です。開発者プレビュー機能は、Red Hat ではいかなる形でもサポートされていません。また、機能的には完全ではなく、実稼働環境に対応していません。本番環境またはビジネスクリティカルなワークロードには、開発者プレビュー機能を使用しないでください。開発者プレビュー機能は、Red Hat 製品オファリングに含まれる可能性がある前に、今後の製品機能への早期アクセスを提供し、お客様が機能をテストし、開発プロセス中にフィードバックを提供できるようにします。これらの機能にはドキュメントがない可能性があり、いつでも変更または削除される可能性があり、テストは制限されています。Red Hat は、関連する SLA なしで、開発者プレビュー機能に関するフィードバックを送信する方法を提供する場合があります。
手順
-
ターミナルを開き、
<MTA_HOME>/ディレクトリーに移動します。 mta-cliスクリプト (Windows の場合はmta-cli.exe) を、適切な引数を指定して実行します。analyzeコマンドごとに 1 つの入力を指定しますが、すべての入力に対して同じ出力ディレクトリーを指定します。たとえば、アプリケーション A、B、C を分析するには、次のように指定します。入力 A について、次のコマンドを指定します。
./{mta-cli} analyze --bulk --input=<path_to_input_A> --output=<path_to_output_ABC> --source <source_A> --target <target_A>$ ./{mta-cli} analyze --bulk --input=<path_to_input_A> --output=<path_to_output_ABC> --source <source_A> --target <target_A>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--input: 評価されるアプリケーション。 -
--output: 生成されたレポートの出力ディレクトリー。 -
--source: アプリケーション移行元のテクノロジー。たとえば、weblogicです。 -
--target: アプリケーション移行先のテクノロジー。たとえば、eap8です。
-
入力 B について、次のコマンドを指定します。
./{mta-cli} analyze --bulk --input=<path_to_input_B> --output=<path_to_output_ABC> --source <source_B> --target <target_B>$ ./{mta-cli} analyze --bulk --input=<path_to_input_B> --output=<path_to_output_ABC> --source <source_B> --target <target_B>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 入力 C について、次のコマンドを指定します。
./{mta-cli} analyze --bulk --input=<path_to_input_C> --output=<path_to_output_ABC> --source <source_C> --target <target_C>$ ./{mta-cli} analyze --bulk --input=<path_to_input_C> --output=<path_to_output_ABC> --source <source_C> --target <target_C>Copy to Clipboard Copied! Toggle word wrap Toggle overflow MTA によって、アプリケーションを移行する前に解決する必要があるすべての問題をリストした 1 つのレポートが生成されます。
- レポートにアクセスします。
2.3.3. コマンドラインを使用して分析を実行する リンクのコピーリンクがクリップボードにコピーされました!
Analyze は、analyzer-lsp ツールを使用してソースコードとバイナリー分析の実行をサポートします。analyzer-lsp はプロバイダーのルールを評価し、ルールの一致を判断します。
アプリケーションのソースコード分析を実行するには、次のコマンドを実行します。
mta-cli analyze --input=<path_to_source_code> --output=<path_to_output_directory>
mta-cli analyze --input=<path_to_source_code> --output=<path_to_output_directory>
すべてのフラグ:
上記のフラグのリストには --bulk フラグは含まれていません。このフラグは開発者プレビュー機能の一部として提供されているためです。この機能については、CLI で複数のアプリケーションを分析するときに 1 つのレポートを提供するためのサポート で説明されています。
使用例:
- 分析を実行するサンプルアプリケーションを取得します。
利用可能なターゲットテクノロジーをリストします。
mta-cli analyze --list-targets
mta-cli analyze --list-targetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定したターゲットテクノロジー (例:
cloud-readiness) を使用して分析を実行します。mta-cli analyze --input=<path-to/example-applications/example-1> --output=<path-to-output-dir> --target=cloud-readiness
mta-cli analyze --input=<path-to/example-applications/example-1> --output=<path-to-output-dir> --target=cloud-readinessCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定した出力パスに、いくつかの分析レポートが作成されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
output.yamlは、Issues レポートが含まれるファイルです。 -
static-reportには、静的 HTML レポートが含まれています。 -
dependencies.yamlには、依存関係レポートが含まれています。
-
2.3.4. コマンドラインを使用して変換を実行する リンクのコピーリンクがクリップボードにコピーされました!
変換を使用して、以下のアクションを実行できます。
-
transform openrewriteコマンドを使用して、Java アプリケーションのソースコードを変換します。 -
transform rulesコマンドを使用して、XML ルールを YAML ルールに変換します。
変換を実行するには、コンテナーランタイムを設定する必要があります。詳細は、Podman を使用して CLI をインストールする を参照してください。
2.3.4.1. OpenRewrite リンクのコピーリンクがクリップボードにコピーされました!
openrewrite サブコマンドを使用すると、ソースコードに対して OpenRewrite レシピを実行できます。
アプリケーションのソースコードに対して transform openrewrite を実行するには、次のコマンドを実行します。
mta-cli transform openrewrite --input=<path/to/source/code> --target=<exactly_one_target_from_the_list>
mta-cli transform openrewrite --input=<path/to/source/code> --target=<exactly_one_target_from_the_list>
transform overwrite コマンドの実行に使用できるターゲットは 1 つだけです。
2.3.4.2. Rules リンクのコピーリンクがクリップボードにコピーされました!
transform コマンドの rules サブコマンドを使用して、mta XML ルールを analyzer-lsp YAML ルールに変換できます。ルールを変更するために、rules サブコマンドは windup-shim ツールを使用します。
analyzer-lsp はプロバイダーのルールを評価し、ルールの一致を判断します。
アプリケーションのソースコードで transform rules を実行するには、以下を実行します。
mta-cli transform rules --input=<path/to/xmlrules> --output=<path/to/output/dir>
mta-cli transform rules --input=<path/to/xmlrules> --output=<path/to/output/dir>
使用例:
- ソースコードを変換するサンプルアプリケーションを取得します。
利用可能な OpenRewrite レシピを表示します。
mta-cli transform openrewrite --list-targets
mta-cli transform openrewrite --list-targetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow サンプルアプリケーションでレシピを実行します。
mta-cli transform openrewrite --input=<path-to/jakartaee-duke> --target=jakarta-imports
mta-cli transform openrewrite --input=<path-to/jakartaee-duke> --target=jakarta-importsCopy to Clipboard Copied! Toggle word wrap Toggle overflow jakartaee-dukeアプリケーションのソースコードの差分を調べて、変換を確認します。
2.3.4.3. 利用可能な OpenRewrite レシピ リンクのコピーリンクがクリップボードにコピーされました!
| 移行パス | 目的 | rewrite.configLocation | activeRecipes |
|---|---|---|---|
| Java EE から Jakarta EE |
|
|
|
| Java EE から Jakarta EE | ブートストラップファイルの名前を変更する |
|
|
| Java EE から Jakarta EE |
|
|
|
| Spring Boot から Quarkus |
|
|
|