ステージング
Related information
概要
ステージング機能を使用すると、TIBCO EBX® リポジトリエレメントをある環境から別の環境に移動できます。たとえば、構成設定を開発環境からテスト環境にステージングできます。ステージング機能の一部として、多くのエレメントがサポートされています。ただし、その主な目的は、リポジトリに含まれる構成可能なエレメントを処理することであり、エンドユーザーによって更新されるデータではありません。サポートされているステージングエレメントのすべてのタイプのリストについては、サポートされているステージングエレメントのタイプを参照してください。
デフォルトでは、ステージング機能が有効になっています。
ebx.properties ファイルに含まれる ebx.staging.activated パラメーターを使用して、さまざまな環境でステージングをアクティブ化または非アクティブ化します。
注意:
ステージング機能を使用するには、管理アクセスまたは委任されたステージングアクセスが必要です。詳細については、ステージング権限と管理委任を参照してください。
用語集
ステージングサーバー
開発、テスト、または実稼働専用の展開済みソフトウェア (EBX® を含む) で構成される環境。ステージングは、あるサーバーから別のサーバーに移動 (ステージング) される前に、更新されたソリューションまたは新しいソリューションを構築、テスト、および確認するために使用されます。
ステージングエレメント
ステージング可能な EBX® リポジトリ内の構成エレメント。さまざまなタイプのステージングエレメントには、データモデルパブリケーション、ワークフローモデルパブリケーション、データスペースなどがあります。
ステージングドメイン
EBX® サーバー間で転送できる一連のステージングエレメント。
ステージングアーカイブ
ドメインのエレメントをサーバーから別のサーバーにステージングするために使用されるファイル。
ステージングオペレーション
サーバーとの間でステージングアーカイブをインポートおよびエクスポートするアクション。
ステージングの実行
ステージングのプロセスは、エレメントを編成してステージングするためのドメインの作成から始まります。ドメインの準備が整うと、アーカイブファイルとしてエクスポートされます。最後に、アーカイブがターゲット環境にインポートされます。
この操作は、EBX® グラフィカルユーザーインターフェイスで実行するか、REST API を使用して実行できます。ステージングドメインのベストプラクティスについては、ステージングドメインとベストプラクティスを参照してください。
注意:
ステージングと互換性があるのは、マイナー番号が同じ製品バージョンのみです。
次の手順は、ユーザーインターフェイスを使用してステージングオペレーションを実行する方法を示しています。
-
ドメインを作成します。以下も参照してください。:
-
名前を付けて保存しますが、閉じないでください。
-
目的のエレメントを選択し、必要に応じてカテゴリ内の特定のコンテンツを選択して、ステージングするエレメントを定義します。選択リストは、変更時に自動的に保存されます。注意:エラー状態のエレメントは非表示になり、選択できません。注意:さらに、リポジトリ内の各ノードは、1000 個のエレメントの表示に制限されています。
ebx.propertiesファイルに含まれるebx.staging.maxElementPerListプロパティを使用して、このデフォルト値を変更できます。以下も参照してください。:
-
ステージングアーカイブをインポートします。
-
ステージングアーカイブを参照して選択します。
-
インポートオプションのいずれかを選択します。詳細については、インポート動作の指定を参照してください。
-
詳細については、エラー処理を参照してください。
インポート動作の指定
次の図と表は、ステージングアーカイブをインポートするときに使用できるオプションを示しています。
|
アーカイブの強制インポート
|
同じステージングアーカイブがすでに正常にインポートされている場合、ステージングインポートはデフォルトで無視されます。このオプションを使用して、アーカイブのインポートの実行を強制します。最初のインポートが期待どおりに行われなかった場合は、このモードを使用し、ソースリポジトリに変更を加えた後に再試行します。
|
|
コンポーネントの強制インポート
|
同じステージングコンポーネントがすでに正常にインポートされている場合、デフォルトでは無視されます。コンポーネントのインポート実行を強制するには、このオプションを使用します。アーカイブを変更した後にこのモードを使用し、実稼働に入る前に永続化プロセス全体を強制的に再生します。
注意:
同じアーカイブがすでに正常にインポートされている場合は、
[アーカイブの強制インポート] オプションもチェックして、コンポーネントのインポートを強制する必要があります。そうしないと、インポートプロセス全体がスキップされます。
|
|
ステージングドメイン定義の保存
|
デフォルトでは、インポート操作の実行時にステージングドメインレコードは Domains テーブルに作成されません。このオプションを使用して、ドメイン定義を手動でインポートします。
|
|
ドライラン (テスト)
|
このオプションは、リポジトリを変更せずにインポートを実行するためのテスト目的で使用されます。このオプションを使用して、宣言された依存関係が存在することを確認します。
|
ステージングドメインとベストプラクティス
ステージングドメインは、リポジトリの構成設定を整理するための効果的な手段です。ドメインを使用して、大きなリポジトリ構成を小さな部分に分割します。これにより、各パーツに異なるライフサイクルを持たせることができます。たとえば、人事および調達アプリケーションでは、さまざまな時期に更新が必要です。この場合、アプリケーションごとに個別のドメインを作成します。次に、複数の環境 (開発、テスト、実稼働など) でこれらのドメインを定義してステージングします。また、この方法により、構成リポジトリ全体を毎回テストする必要がなくなります。
ドメインには、ドット表記に準拠した一意の名前が必要です。サポートされている文字には、ASCII の英字と数字、アンダースコア、ダッシュ、およびドットが含まれます (名前をアンダースコアで始めることはできません)。この動作は、名前空間のように使用して階層を作成できます。例:
com.acme.hr、 com.acme.procurement、 com.acme.procurement.catalog、 com.acme.procurement.catalog.2022。
ベストプラクティスには次のようなことがあります。
-
ステージングライフサイクルでできるだけ早くドメインを明確に定義し始めます。
-
通常、開発環境の権限は実稼働環境の権限とは異なるため、権限には別のドメインを使用します。
-
ステージングは、リポジトリ内の構成データのみを処理する必要があります。「データテーブル」と「フィルター処理されたデータ」のタイプはサポートされていますが、ステージングデータがそれらを更新し、ユーザーによる変更を上書きする可能性があるため、ユーザー (地域、国など) によって更新されないデータに適用する必要があります。
-
1 つ以上のステージングアーカイブをインポートする前に、データベースのバックアップを作成します。
ステージング権限と管理委任
デフォルトでは、EBX® の管理者はステージングにアクセスする権限を持っており、管理者以外のユーザーにアクセス権限を付与できます。アクセス権限は、個々のアクションまたはすべてのアクションの可用性を指定できます。ただし、ステージングには構成エレメントを作成および更新する機能があるため、ステージングへのアクセスを許可するときは注意が必要です。
管理委任を使用して、ステージング管理権限をユーザーに付与します。このプロセスは、ステージングドメインのコンテンツを選択するときに適用されるユーザー権限を使用して完了します。アクセス権限のないエレメントを選択してステージングすることはできません。
以下も参照してください。:
次の表は、管理者とステージング管理委任を持つユーザーの権限の違いを示しています。
|
管理者
|
|
|
委任されたステージング管理者を持つユーザー
|
|
エラー処理
インポート操作中のエラー処理
インポート操作により、エラーと警告が返される場合があります。インポートは成功するか、部分的に成功するか、失敗するか、無視されたエレメントまたは完全に無視されたエレメントを持つことができます。インポート操作は最初のエラーで停止せず、すべてのコンポーネントを試行します。エラーが発生すると、コンポーネントは正しくインポートされません。正常に完了するには、ソースまたはターゲットリポジトリの変更が必要になる場合があります。エラーメッセージは、問題を識別するのに役立つ十分な情報を提供する必要があります。
注意:
インポートは完全なトランザクションではなく、エラーによってリポジトリが不安定になる可能性があります。
依存関係のチェックが行われ、必要なエレメントが欠落している場合はエラーが返されます。これは、データセットを含むドメインをインポートし、そのデータセットに関連付けられたデータスペースがドメインまたは宛先リポジトリにない場合に発生する可能性があります。
警告が発生した場合、コンポーネントは正しくインポートされている可能性がありますが、機能が低下しているか、アクセスできない可能性があります。依存関係のチェック中に、参照されたオプションのエレメントが欠落している場合、警告が返されます。これは、データスペースの所有者プロファイルの場合です。
注意:
ステージングは、デフォルトで可能な限り書き込みを回避しようとします。この動作をオーバーライドして、ステージングエレメントを強制的に作成または更新できます。詳細については、インポート動作の指定を参照してください。
レポートのインポート
UI または REST を介して実行されるインポート操作ごとに、インポートレポートが生成されます。これには、ドメインとそのコンポーネントのインポートステータスが含まれます。レポートには、問題のトラブルシューティングに役立つ重大度 (
info、 warning、 error) のメッセージも含まれています。
ドメインステータス値をインポートします。
-
**成功:**すべてのコンポーネントが正常にインポートされました。一部のコンポーネントがすでに存在し、インポート先のリポジトリに期待どおりに存在する場合、インポートはそれらのコンポーネントを無視する可能性があります。
-
一部失敗: 一部のコンポーネントのインポートでエラーが発生しました。他のコンポーネントは正常にインポートされました。各コンポーネントのステータスインポートを確認する必要があります。
-
**失敗:**アーカイブの読み取り中に例外が発生したか、コンポーネントのインポートがすべてエラーになっています。「一部失敗」ステータスとは異なり、リポジトリへの変更は実行されません。
-
**無視:**アーカイブはすでにインポートされているか、すべてのコンポーネントのインポートが無視されたため、無視されます。リポジトリへの変更は行われません。
-
**待機中:**非同期モードで使用されます。インポート操作はキューに入れられ、処理されるのを待っています。
-
**開始済み:**インポートプロセスが開始されましたが、終了していません。注意:システムの起動時に、ジョブが中断されたため、開始または待機中のすべてのインポートは自動的に失敗に渡されます。コンポーネントのステータス値をインポートします。
-
**成功:**ステージングエレメントが正常に作成または更新されました。
-
**失敗:**ステージングエレメントのインポート中にエラーが発生しました。
-
**無視:**エレメントはリポジトリで期待どおりであるため、インポートは無視されます。
-
**開始済み:**インポートが開始され、終了していません。
エクスポート操作中のエラー処理
インポート操作とは異なり、エクスポート操作は完全なアーカイブエクスポートでのみ成功します。エラーが発生すると失敗します。ステージングエクスポートの部分的な状態はありません。
ドメイン内のコンポーネントが欠落している場合、エラーが返され、アーカイブは生成されません。
レポートのエクスポート
エクスポートレポートは、UI または REST を介して実行されるエクスポート操作ごとに生成されるレポートです。これには、アーカイブのエクスポートステータスが含まれます。
ドメインのステータス値をエクスポートします。
-
**エクスポート済み:**アーカイブは正常にエクスポートされました。
-
**要求済み:**非同期モードで使用されます。エクスポートが要求され、現在処理中です。
-
**中止:**エクスポート エラーまたは処理の中断により、アーカイブエクスポートが中止されました。
-
期限切れ: REST サービスの非同期モードを使用して、アーカイブが生成されましたが、有効期限が切れています。利用できなくなりました。
サポートされているステージングエレメントのタイプ
ステージング機能では、次のタイプのリポジトリエレメントがサポートされています。
-
データスペース
-
データスペースの権限
-
データセット (詳細については、データセット を参照)
-
データセット権限
-
データテーブル
-
フィルター済みデータ
-
-
-
-
データモデル (詳細については、データモデル を参照)
-
データモデル権限
-
-
データモデルパブリケーション (詳細については、データモデル を参照)
-
ワークフローパブリケーション
-
パースペクティブ
-
パースペクティブ権限
-
-
プロファイル (ロール) (詳細については、プロファイル を参照)
-
ビューパブリケーション
-
パブリケーション権限の表示
-
-
管理
-
推奨されるパースペクティブ
-
推奨パースペクティブ権限
-
履歴化プロファイル
-
履歴とログの権限
-
タスクスケジューラ権限
-
ワークフロー実行権限
-
ワークフロー履歴権限
-
ワークフローインタラクション権限
-
ワークフローランチャー権限
-
ワークフローの技術構成
-
データスペース管理権限
-
データモデリング権限
-
自動インクリメント権限
-
-
グローバル許可
-
スケジュールされたタスク
-
ワークフローモデル
データテーブル
プロファイル
ステージングできるのはロールのみです。ステージングアーカイブをインポートするとき、ロールを除き、ディレクトリがデフォルトディレクトリである場合、プロファイルは無視されます。ステージング ドメインをエクスポートすると、1 つまたは複数のプロファイル (ユーザーまたはロール) にリンクされたステージングエレメントが、ユーザーまたはロールがディレクトリにあるかどうかに関係なく、リンクとともにステージングされます。
データモデル
モジュール内にあるデータモデルパブリケーションおよびデータモデルは、ステージングに使用できません。ただし、対応するパブリケーションがモジュール内にある場合でも、データモデルをステージングできます (パブリケーションはステージングされません)。
データセット
子データセットをステージングすることはできません。ステージングエレメントをドメインに追加するときは表示されません。
REST API
詳細については、ステージングオペレーションを参照してください。
一時フォルダの処理
一時フォルダーは、ステージングオペレーションと非同期プロセスをサポートするために作成されます。作成された各フォルダーは、構成された遅延の後に有効期限が切れます。スケジュールされたタスク DeleteExpiredStagingTemporaryFolders により、期限切れのフォルダーが定期的に削除されます。
注意:
ステージング用に作成された一時フォルダーのディスク上の専用サイズは、プロパティ
ebx.staging.maxTemporaryFolderSizeInBytes で構成できます。
起動時の自動インポート
起動時に特定のアーカイブを自動的にインポートするようにステージングを構成できます。これにより、インポート プロセスを手動で開始する必要がなくなり、環境内で必要なすべてのデータをタイムリーに利用できるようになります。
自動ステージングアーカイブインポートを設定するには、次の手順を実行します。
-
ebx.propertiesファイルで、ebx.staging.importOnStartupプロパティを設定します。 -
インポートするアーカイブを含むフォルダーを宣言します。
-
フォルダーは、構成されたリポジトリディレクトリの下の
/startupディレクトリに物理的に配置される必要があります (例:${ebx.home}/ebxRepository/startup/folder1)。 -
各フォルダーには、
instructions.jsonという JSON ファイルが含まれている必要があります。このファイルは、そのフォルダー内のアーカイブのインポートの順序とオプションを指定します。
-
instructions.json ファイルの形式は次のとおりです。
{
"imports": [
{
"archiveFilePath": "myArchive1.zip"
},
{
"archiveFilePath": "myArchive2.zip",
"advanced_options": {
"forceUpdateOnIdenticalComponent": false,
"importDomainDefinition": true
}
}
]
}
インポートが失敗した場合、
errors.json ファイルがフォルダー内に作成され、インポート プロセス中に発生したエラーの詳細なレポートが含まれます。インポートが成功すると、フォルダー内に output.json ファイルが生成され、正常に処理されたインポートのレポートが提供されます。
注意:
詳細オプションは必要に応じて使用し、UI のインポートオプション (コンポーネントのインポートを強制し、ステージングドメイン定義を保存) と同様の動作になります。
注意:
ファイル
output.json を含むフォルダーは、すでに正常にインポートされたものとみなされ、起動中に無視されます。
注意:
宣言されたフォルダーと指示ファイルで指定されたアーカイブは、構成されたリポジトリの起動フォルダーの下に厳密に配置される必要があります。親フォルダーへの移動やシンボリックリンクの使用は許可されません。