はじめに
SAP CP Trial環境でMulti Target Applicationを作ってみる【Fiori LanchPadモジュールの作成】
上記の記事を参考にTrial環境でLaunchpadを作成しようとしたところデプロイ時に以下のエラーがでてしまいました。
Service operation failed: Controller operation failed: 404 Updating service "portal_resources_demo" failed: Not Found: Error creating service "portal_resources_demo" from offering "portal" and plan "standard": Service plan standard not found.
調べてみるとポータルサービスがTrialから削除されたので代わりにSAP CloudPlatformLaunchpadを利用して開発する必要がありそうです。
参考:https://github.com/sap-tutorials/Tutorials/issues/6138
今回はTrial環境で上記を使用して簡単なLaunchPadサイトを作ってみようと思います。
LaunchPad Serviceを起動する
Trial環境にログインし、Service MarketplaceからLaunchpad Serviceを検索します。
出てきたLaunchpad Serviceを選択し「Create」ボタンを押下、
Planは「Standard」を選択してサービスを作成します。
ユーザにロールを割り当てる
LaunchPadが立ち上がったらUsersから任意のユーザを選択し、Assign Role Collectionボタンを押下します。
「Launchpad_Admin」を選択しロールを割り当てます。
Launchpadサイトを作成する
次に「Instances and Subscriptions」タブからLaunchpad Serviceを開きます。(下記画像赤枠部分クリック)
サイトディレクトリ画面が開くので新しく「サイト作成」を押下し、サイトの名称を入力しサイトを新たに追加します。
(今回は「demoFLP」としました)
無事サイトが追加されます。(サイト名称部分も「demoFLP」になっている)
次はこのサイトに表示させるFioriアプリを登録していきます。
MTAプロジェクトをデプロイする
サイトに登録するFioriアプリをTrial環境にデプロイしていきます。
サンプル用にUIモジュールを2つ追加したMTAプロジェクトを作成しました。
デプロイするにあたってmta.yamlを記載します。
ID: demo
_schema-version: '2.1'
parameters:
deploy_mode: html5-repo
version: 0.0.1
modules:
- name: demo-destination-content
type: com.sap.application.content
requires:
- name: dest_demo
parameters:
content-target: true
- name: demo_html5_repo_host
parameters:
service-key:
name: demo_html5_repo_host-key
- name: uaa_demo
parameters:
service-key:
name: uaa_demo-key
parameters:
content:
instance:
destinations:
- Name: demoFLPService_demo_html5_repo_host
ServiceInstanceName: demoFLPTest-html5-app-host-service
ServiceKeyName: demo_html5_repo_host-key
sap.cloud.service: demoFLPService
- Authentication: OAuth2UserTokenExchange
Name: demoFLPService_uaa_demo
ServiceInstanceName: demoFLPTest-xsuaa-service
ServiceKeyName: uaa_demo-key
sap.cloud.service: demoFLPService
existing_destinations_policy: ignore
build-parameters:
no-source: true
- name: demo_ui_deployer
type: com.sap.html5.application-content
path: demo_ui_deployer
requires:
- name: demo_html5_repo_host
build-parameters:
requires:
- name: demoUI01
artifacts:
- './*'
target-path: resources/demoUI01
- name: demoUI02
artifacts:
- './*'
target-path: resources/demoUI02
- name: demoUI01
type: html5
path: demoUI01
build-parameters:
builder: custom
commands:
- npm install
- npm run build
supported-platforms: []
build-result: dist
- name: demoUI02
type: html5
path: demoUI02
build-parameters:
builder: custom
commands:
- npm install
- npm run build
supported-platforms: []
build-result: dist
resources:
- name: demo_html5_repo_runtime
parameters:
service-plan: app-runtime
service: html5-apps-repo
type: org.cloudfoundry.managed-service
- name: demo_html5_repo_host
parameters:
service: html5-apps-repo
service-name: demoFLPTest-html5-app-host-service
service-plan: app-host
type: org.cloudfoundry.managed-service
- name: uaa_demo
parameters:
path: ./xs-security.json
service-plan: application
service: xsuaa
service-name: demoFLPTest-xsuaa-service
type: org.cloudfoundry.managed-service
- name: dest_demo
parameters:
config:
HTML5Runtime_enabled: true
version: 1.0.0
service: destination
service-name: dest_demo
service-plan: lite
type: org.cloudfoundry.managed-service
以下コマンドからビルドとデプロイを行います。
mbt build
cf deploy mta_archives/demo_0.01.mtar
デプロイが完了したら次はデプロイしたUI5アプリをLaunchpadに表示していきます。
Launchpadで設定を行う
先ほど作成したLaunchpadのサイトマネージャを開き、コンテンツエクスプローラを開きます。
テーブルに先ほどデプロイしたUI5アプリにチェックを入れて「追加」ボタンを押下します。
次にマイコンテンツタブに戻り、「新規」ボタンを押下して「グループ」を選択します。
タイトルには任意のグループタイトルを設定してください。
画面右に表示されている割当明細のサーチインプットにフォーカスを当てると下に先ほど追加したUI5アプリが表示されるので+ボタンを押下してグループに対象のアプリを登録し、「保存」ボタンを押下します。
編集ボタンを押下し、先ほどと同じように割当済明細からUI5アプリを登録し、保存ボタンを押下します。
まとめ
FLPの挙動をTrialアカウントで気軽に確認したい時便利だなと思ったので備忘録のため記事を作成しました。
Fiori画面をUI5アプリとしてデプロイするための設定をmta.yamlに適用する部分がいまだにしっかりと理解できていないのでこれからも調べていこうと思います。