Salesforce Sandbox 組織を使用して、本番環境と同じ条件の Sandbox 環境でポータルをテストします。API Experience Hub で、API Portal の個別のデプロイメント環境を管理できます。複数の Salesforce Sandbox 組織に接続し、それらを切り替えることができます。現在の Salesforce 接続で使用可能な Sandbox 環境を選択することで、[Manage your API Portal (API Portal を管理)] ページから Salesforce 組織を管理します。
始める前に
Sandbox 組織がすでにセットアップされていることを確認します。Sandbox の作成についての詳細は、Salesforce ドキュメントの 「Sandbox の作成」を参照してください。
Salesforce 組織接続を管理する
-
[Manage your API Portal (API Portal を管理)] ページで、接続コントロールをクリックします。
-
オプションを選択します。
-
本番組織に接続するには、[Connected Salesforce Orgs (接続された Salesforce 組織)] ダイアログで [Connect production org (本番組織に接続)] をクリックします。
接続プロセスが再開され、本番組織に接続できるようになります。
-
接続された本番組織の別の Sandbox に切り替えるには、[Connected Salesforce Orgs (接続された Salesforce 組織)] ダイアログで [Switch to this org (この組織に切り替え)] をクリックします。
-
接続されていない Sandbox 組織に接続するには、[Connect (接続)] をクリックします。
接続プロセスが再開され、Sandbox 組織に接続できるようになります。
-
新しい Sandbox 組織に接続するには、[Connect new sandbox org (新規 Sandbox 組織に接続)] をクリックします。
接続プロセスが再開され、新しい Sandbox 組織に接続できるようになります。
-
別の Sandbox 組織に切り替えるには、[Switch to this org (この組織に切り替え)] をクリックします。
-
孤立した Sandbox を管理する
孤立した Sandbox は、本番組織を切断し、子 Sandbox 組織がまだ接続されている場合に発生します。本番組織の子ではない Sandbox に接続すると、その Sandbox は [Connected Salesforce Organizations (接続された Salesforce 組織)] ダイアログの [More sandbox orgs (その他の Sandbox 組織)] セクションに表示されます。この Sandbox に切り替えることもできます。関連付けられた本番組織に再接続すると、Sandbox は孤立として表示されなくなります。
更新された Sandbox 接続を管理する
Sandbox を更新すると、ソース組織からのメタデータが更新されます。本番組織に接続した後に Sandbox が更新された場合は、再接続してこの Sandbox に切り替えます。
本番組織に接続する前に Sandbox が更新された場合は、再接続せずにこの Sandbox に切り替えることができます。
Sandbox 組織を削除する
Sandbox 組織を削除するには、Salesforce ドキュメントの 「Sandbox を削除する」を参照してください。
Sandbox の本番への昇格
Sandbox 環境でポータルをテストし、本番の準備が整ったら、CI/CD パイプラインを使用して Salesforce メタデータのサブセットを本番にデプロイします。その後、Salesforce メタデータのサブセットを使用して本番インスタンスに接続してインストールを完了し、API の選定を開始します。
Sandbox を本番に昇格する
ポータルのスタイル設定とカスタマイズを Sandbox 組織から本番組織に移動します。
-
API Experience Hub メタデータを保存する Git リポジトリを作成します。
-
それをローカルマシンにコピーします。
-
./manifest にマニフェスト package.xml ファイルを作成します。次に例を示します。Details
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>homeroCompanyLogo</members> <members>homeroLoginBackground</members> <members>minionHomeBanner</members> <members>minionPageBanner</members> <name>ContentAsset</name> </types> <types> <members>API_Experience_Hub1_banner</members> <members>API_Experience_Hub1_logo</members> <name>StaticResource</name> </types> <types> <members>AEH</members> <members>AEH/API_Experience_Hub1_logo</members> <name>Document</name> </types> <types> <members>AEH</members> <members>AEH/ChangedPasswordEmailTemplate</members> <members>AEH/ForgotPasswordEmailTemplate</members> <members>AEH/NewMemberWelcomeEmailTemplate</members> <members>AEH/RejectedMemberEmailTemplate</members> <name>EmailTemplate</name> </types> <types> <members>AEHLetterhead</members> <name>Letterhead</name> </types> <types> <members>Anypoint</members> <members>AnypointDevx</members> <members>AnypointEu</members> <members>AnypointQax</members> <members>AnypointStgx</members> <members>ExchangeAssetIcons</members> <members>ExchangeAssetIconsDevx</members> <members>ExchangeAssetIconsEu</members> <members>ExchangeAssetIconsQax</members> <members>ExchangeAssetIconsStgx</members> <members>GStaticFonts</members> <members>GoogleFonts</members> <members>SegmentAPI</members> <members>SegmentCDN</members> <name>CspTrustedSite</name> </types> <types> <members>Anypoint</members> <members>AnypointDevx</members> <members>AnypointEu</members> <members>AnypointQax</members> <members>AnypointStgx</members> <members>ExchangeAssetIcons</members> <members>ExchangeAssetIconsDevx</members> <members>ExchangeAssetIconsEu</members> <members>ExchangeAssetIconsQax</members> <members>ExchangeAssetIconsStgx</members> <members>SegmentAPI</members> <name>RemoteSiteSetting</name> </types> <!-- <types> <members>ExperienceBundle</members> <members>Communities</members> <name>Settings</name> </types> --> <types> <members>API_Experience_Hub_Manage_Networks</members> <name>PermissionSet</name> </types> <types> <members>API Experience Hub</members> <name>Network</name> </types> <types> <members>HTTP_API_Audience</members> <name>Audience</name> </types> <types> <members>API_Experience_Hub</members> <name>CustomSite</name> </types> <types> <members>API_Experience_Hub1</members> <name>ExperienceBundle</name> </types> <types> <members>AEH_Default_Navigation</members> <members>AEH_Default_User_Navigation</members> <name>NavigationMenu</name> </types> <types> <members>cbAPI_Experience_Hub</members> <name>NetworkBranding</name> </types> <!-- <types> <members>API Experience Hub Member User</members> <name>Profile</name> </types> --> <version>60.0</version> </Package> -
VCS で開発ブランチを作成します。
-
Salesforce Sandbox 組織から作成されたマニフェストを使用して、メタデータをダウンロードします。
-
Salesforce CLI コマンドを使用して、Salesforce Sandbox 組織からメタデータを取得します。
-
Salesforce Sandbox 組織にログインします。
sf auth web login --instance-url=https://<SANBOX-INSTANCE_URL> --alias sandboxOrg
-
Sandbox 組織からメタデータを取得する前に、
manifest/package.xml ファイルを編集します。Sandbox 組織は Salesforce 本番組織のコピーであるため、複数の商品からのメタデータを含めることができます。API Experience Hub は、前のステップで Git リポジトリを作成したときに作成された
manifest/package.xml ファイルで指定された Sandbox 組織のサブセットです。 -
ポータルにブランド画像が含まれている場合は、その画像を
manifest/package.xml の ContentAsset セクションに追加します。次に例を示します。... <types> <members>homeroCompanyLogo</members> <members>homeroLoginBackground</members> <members>minionHomeBanner</members> <members>minionPageBanner</members> <name>ContentAsset</name> </types> ... -
メタデータを確認して、次のコマンドを実行して取得します。
sf project retrieve start --manifest ./manifest/package.xml --target-org sandboxOrg
-
メタデータを確認して、すべてのメタデータの変更を Git リポジトリにコミットします。または、一部のメタデータが欠落しているか不要な場合は、
manifest/package.xml を変更してこのプロセスを繰り返します。
-
-
API Experience Hub ポータルを Sandbox 組織から本番組織に移動します。
-
本番組織にログインします。
sf auth web login --instance-url=https://<ENTERPRISE-INSTANCE_URL> --alias productionOrg
API Experience Hub 管理パッケージを本番組織にインストールする前に、Sandbox 組織にインストールされている
SubscriberPackageVersionId 項目から管理パッケージバージョン ID を取得します。 -
次のコマンドを実行して、管理パッケージバージョン ID を取得します。API Experience Hub 管理パッケージの
SubscriberPackageVersionId 項目は、04t で始まります。sf package installed list --target-org sandboxOrg --json
-
API Experience Hub 管理パッケージを本番組織にインストールします。
sf package install --package 04t... --target-org productionOrg --no-prompt --wait 30
-
Jenkins または他の CI/CD ツールを使用して、API Experience Hub メタデータを本番組織にデプロイします。次に例を示します。
sf project deploy start --source-dir force-app --target-org productionOrg
すべての設定が本番組織にデプロイされ、この組織を API Experience Hub に接続する準備が整いました。
-
-
本番組織で API Experience Hub を設定します。
-
Anypoint Platform に移動し、ユーザー名とパスワードを入力して、[Sign in (サインイン)] をクリックします。
-
Anypoint Platform から [API Experience Hub] を選択します。
-
Salesforce 本番組織 (Enterprise 組織) を接続します。
-
[Use existing portal (既存のポータルを使用)] をクリックして、既存のポータルを再利用します。
-
[API management (API 管理)] ページで、アセットをポータルに追加します。
-
[Preview and publish your portal (ポータルをプレビューしてパブリッシュ)] をクリックして、ポータルをプレビューし、[Publish (パブリッシュ)] をクリックします。
-