ステージング機能を使用すると、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 サービスの非同期モードを使用して、アーカイブが生成されましたが、有効期限が切れています。利用できなくなりました。
ステージング機能では、次のタイプのリポジトリエレメントがサポートされています。
データスペース
データスペースの権限
データセット (詳細については、データセットを参照)
データセット権限
データテーブル
フィルター済みデータ
データモデル (詳細については、データモデルを参照)
データモデル権限
データモデルパブリケーション (詳細については、データモデルを参照)
ワークフローパブリケーション
パースペクティブ
パースペクティブ権限
プロファイル (ロール) (詳細については、プロファイルを参照)
ビューパブリケーション
パブリケーション権限の表示
管理
推奨されるパースペクティブ
推奨パースペクティブ権限
履歴化プロファイル
履歴とログの権限
タスクスケジューラ権限
ワークフロー実行権限
ワークフロー履歴権限
ワークフローインタラクション権限
ワークフローランチャー権限
ワークフローの技術構成
データスペース管理権限
データモデリング権限
自動インクリメント権限
グローバル許可
スケジュールされたタスク
ワークフローモデル
データテーブルとフィルター処理されたデータは、デフォルトの構成でインポートされます。
デフォルトのインポートモードは Update または Insert です。
ブロッキング制約が無効になっています。
by delta モードが有効になっています。
テーブルトリガーはインポート時に有効化されます。
ステージングできるのはロールのみです。ステージングアーカイブをインポートするとき、ロールを除き、ディレクトリがデフォルトディレクトリである場合、プロファイルは無視されます。ステージングドメインをエクスポートすると、1 つまたは複数のプロファイル (ユーザーまたはロール) にリンクされたステージングエレメントが、ユーザーまたはロールがディレクトリにあるかどうかに関係なく、リンクとともにステージングされます。
ロール関係のサイクルの場合、サイクルを構成するすべてのロールは無視されます。
モジュール内にあるデータモデルパブリケーションおよびデータモデルは、ステージングに使用できません。ただし、対応するパブリケーションがモジュール内にある場合でも、データモデルをステージングできます (パブリケーションはステージングされません)。
子データセットをステージングすることはできません。ステージングエレメントをドメインに追加するときは表示されません。
EBX® アドオンには、ステージングできる特定のコンポーネントがあります。以下のセクションでは、ステージングに使用できるアドオンコンポーネントと、ユーザーインターフェイス内のコンポーネントの場所について説明します。参考のために、以下の各表のステージングの場所の列は、[管理] > [リポジトリ管理] > [ステージング] > [ドメイン] > <<SelectedDomain>> > [コンポーネント] を指します。
ステージング可能なコンポーネントを含むアドオンは次のとおりです。
以下の表は、ステージングに使用できるアドオンのコンポーネントとその場所を示しています。
アドオンコンポーネント | ステージング場所 (カテゴリから開始) |
---|---|
DMA による保存済みグラフ | データモデル > DMA による保存済みグラフ:[名前] |
値と関係のグラフの構成 | データスペース > データセット > 値と関係のグラフの構成:[名前] |
DMA によるデータモデルグラフの構成 | データモデル > DMA によるデータモデルグラフの構成:[名前] |
データモデルのグラフ構成 | データスペース > データセット > データモデルのグラフ構成:[名前] |
保存済みグラフ | データスペース > データセット > 保存済みグラフ:[名前] |
カスタムグラフ | カスタムグラフ:[名前] |
以下の表は、ステージングに使用できるアドオンのコンポーネントとその場所を示しています。
アドオンコンポーネント | ステージング場所 (カテゴリから開始) |
---|---|
SQL 構成 | データスペース > データセット > データベースとデータモデルの接続 注意データベース構成は、選択した [データベースとデータモデルの接続] 構成に合わせて自動的に移行されます。 |
ユーザーテンプレート | データスペース > データセット > テンプレート情報 注意SQL サービスにテンプレートが使用されている場合、対応する SQL サービスが自動的に組み込まれます。 |
以下の表は、ステージングに使用できるアドオンのコンポーネントとその場所を示しています。
アドオンコンポーネント | ステージング場所 (カテゴリから開始) |
---|---|
ダッシュボード | ダッシュボード 注意各ダッシュボードには、データセット、テーブル、フィールドなど、ダッシュボードに含まれる特定の資産への依存関係があります。空のダッシュボードと無効なインジケーターは自動的に除外されます。 |
以下の表は、ステージングに使用できるアドオンのコンポーネントとその場所を示しています。
アドオンコンポーネント | ステージング場所 (カテゴリから開始) |
---|---|
デジタル資産コンポーネント | データスペース > データセット > デジタル資産コンポーネント |
デジタル資産 | データスペース > データセット > ドライブ内のデジタル資産 注意ステージングではデジタル資産のみを移行できます。物理ファイルは個別に移行する必要があります。 |
以下の表は、ステージングに使用できるアドオンのコンポーネントとその場所を示しています。
アドオンコンポーネント | ステージング場所 (カテゴリから開始) |
---|---|
照合の構成 | データモデルパブリケーション > 照合の構成 > テーブル > 照合の構成 注意特定の照合の構成に属するすべてのエレメント (メイン情報、照合ポリシー、マージポリシー、およびレプリケーション) も移行されます。 |
照合ポリシー | データモデルパブリケーション > 照合の構成 > テーブル > 照合ポリシー 注意選択した照合ポリシーにリンクされている場合は、マージポリシーを含めて、特定の照合ポリシーに関連するすべてのコンポーネントが移行されます。例外は、照合の構成の主要な情報が含まれていないことです。 |
マージポリシー | データモデルパブリケーション > 照合の構成 > テーブル > マージポリシー 注意特定のマージポリシーに関連するすべてのコンポーネントも移行されます。 |
詳細については、ステージングオペレーションを参照してください。
一時フォルダーは、ステージングオペレーションと非同期プロセスをサポートするために作成されます。作成された各フォルダーは、構成された遅延の後に有効期限が切れます。スケジュールされたタスク 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, "importDefinition": true } } ] }
インポートが失敗した場合、errors.json
ファイルがフォルダー内に作成され、インポート プロセス中に発生したエラーの詳細なレポートが含まれます。インポートが成功すると、フォルダー内に output.json
ファイルが生成され、正常に処理されたインポートのレポートが提供されます。
詳細オプションは必要に応じて使用し、UI のインポートオプション (コンポーネントのインポートを強制し、ステージングドメイン定義を保存) と同様の動作になります。
ファイル output.json
を含むフォルダーは、すでに正常にインポートされたものと見なされ、起動中に無視されます。
宣言されたフォルダーと指示ファイルで指定されたアーカイブは、構成されたリポジトリの起動フォルダーの下に厳密に配置される必要があります。親フォルダーへの移動やシンボリックリンクの使用は許可されません。