サイト・テンプレートを開発した後で、OCEツールキットのコマンドライン・インタフェース(CLI)を使用して、Oracle Content Managementサーバー上で開発からテストと本番までテンプレートを伝播できます。
変更を伝播する場合、ツールキット・コマンドを使用して、開発、テストおよび本番サーバー上でサイトを作成したりライフサイクルを管理します。開発環境でサイトに変更を行い、これらの変更をテストおよび本番環境に伝播します。この一連のコマンドライン・ユーティリティをスクリプト環境に組み入れてデプロイメントを管理することもできます。CLIユーティリティを使用すると、アセットやコンポーネントなどの新規アイテムや既存のコンテンツの更新をロールアウトできます。
次のステップでは、OCEツールキットのCLIを使用して開発からテストおよび本番まで変更を伝播する方法を示します。
同じリポジトリおよびローカリゼーション・ポリシーで開発、テストおよび本番サーバーを設定します。
開発サーバーからテスト・サーバーと本番サーバーに変更を伝播するには、3つのサーバーのそれぞれに同じ名前およびローカリゼーション・ポリシーでリポジトリを設定する必要があります。アセット・リポジトリのデフォルト・ローカリゼーション・ポリシーはen-USですが、3つのサーバーのすべてのポリシーが同じであれば、異なるものを使用できます。
アセット・リポジトリの設定を参照してください。
開発、テストおよび本番サーバーをOracle Content Managementに登録します。
変更をサイトに伝播する前に、各サーバーを登録する必要があります。OCEツールキットで提供されているcec register-server
コマンドでサーバーを登録できます。
cec register-server <name>
次のコマンド・オプションを指定します。
サーバーURLの場合、-e <endpoint>
サーバーに接続する場合、-u <user>および-p <password>
サーバー・タイプを設定する場合、オプションの-t <type>。デフォルト値は、pod_ec
です。
Oracle Public CloudでOracle Content Managementテナントに接続する場合、pod_ec
のみを使用します。
たとえば、次のコマンドは、Oracle Public cloudのテナントであるサーバーを登録します。
cec register-server DEV -e https://DEV.example.com -u user1 -p <password>
次のコマンドは、Oracle Content Managementのスタンドアロン開発インスタンスを登録します:
cec register-server DEV -e https://DEV.git.oraclecorp.example.com -u user1 -p <password>
Oracle Content Managementサーバーを登録した後で、コンテンツをcec list
ツールキット・コマンドでリストできます。
次のコマンドは、開発サーバーのコンテンツをリストします。
cec-compontents> cec list -s DEV - Logged in to remote server: <host:port> Channels: Name Token StarterSite <site-id> Components: Name Type Published FooterBar Component group StarterComponent Local component StarterFooter Component group StarterNavMenu Local component Localization policies: Name Required languages Optional Languages en-US en-US Repositories: Name r Sites: Theme Type Published Online Name StarterSiteTheme Enterprise Templates: Name Theme Type StarterTemplate StarterTheme Standard
サイト・テンプレートを開発サーバーにアップロードし、テンプレートからサイトを作成します。
cec create-template
コマンドでサイト・テンプレートを作成して、テンプレートを開発サーバーにアップロードできます。その後、cec create-site
コマンドでテンプレートからサイトを作成できます。次のコマンドは、テンプレートを作成してテンプレートをアップロードします。
- cec create-template blog -f BlogTemplate - cec upload-template blog -s DEV
次のコマンドは、アップロードしたテンプレートからblog
という名前のサイトを作成します。
cec-components> cec create-site blog -t blog -r r -l "en-US" -d "en-US" --server DEV - Logged in to remote server: <https:<host:<port> - establish user session - get template - get repository - get localization policy - creating enterprise site . . . name blog template blog site prefix blog repository r localization policy en-US default language en-US - submit create site site - create site in process: percentage 95 - create site in process: percentage 95 - create site in process: percentage 95 - create site in process: percentage 95 - create site in process: percentage 95 - site created
サイトを公開して、開発サーバーでこれをオンラインにします。
サイトを作成した後で、cec control-site
コマンドを使用すると、サイトを公開してオンラインにできます。
cec-components> cec control-site Usage: cec contrl-site <action> Perform <action> on site in CEC server. Specify the site with -s <site> Specify the server with -r <server>. publish unpublish bring-online take-offline Options: --site, -s <site> Site --server, -r <server> The registered CEC server --help, -h Show help Examples: cec control-site publish -s Site1 Publish site Site1 on the server cec control-site publish -s Site1 -r UAT Publish site Site1 on the registered server UAT cec control-site unpublish -s Site1 -r UAT Inpublish site Site1 on the registered server UAT cec control-site bring-online -s Site1 -r UAT Bring site Site1 online on the registered server UAT cec control-site take-offline -s Site1 -r UAT Take site Site1 offline on the registered server UAT Not enough non-option arguments: got 0, need at least 1 cec-components> cec control-site publish --site blog --server DEV - Logged in to the remote server: https://<host>:<port> - establish user session - get site: runtimeStatus: offline publishStatus: unpublished - submit publish site - publish in process: percentage 20 - publish in process: percentage 40 - publish in process: percentage 49 - publish in process: percentage 49 - publish in process: percentage 50 - publish in process: percentage 50
サイトをDEVからUATに移動するには、サイトをパッケージ化する必要があります。サイト間でサイトを移動するためのパッケージング・モデルはテンプレートです。開発サーバーで作成したサイトから新しいテンプレートを作成し、テンプレートをダウンロードします。
次の例のcec create-template-from-site
コマンドは、blog
からblog2
という名前のサイト・テンプレートを作成します。
cec create-template-from-site blog2 -s blog
cec download-template
コマンドで開発サイトから作成したテンプレートをダウンロードします。
cec-components: cec download-template blog2 --server DEV - Logged in to remote server: https://<host>:<port> - establish user session - export template - template download to /Users/<user-name>/devenv/git/webclient/developer/sites-toolkit/cec-components/dist/blog2.zip - the template will be at /Users/<user-name>/devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/templates/blog2 - the theme for the template will be at /Users/<user-name>/devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/themes/blogTheme - create link _scs_theme_root_ - create link _scs_design_name_ - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Author-Summary - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Post-Content - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Post-Header - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Post-Search-Result - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Post-Post-Sidebar - override component /Users/<user-name>devenv/git/webclient/developer/sites-toolkit/cec-components/src/main/components/Starter-Blog-Post-Summary - set themeName to blogTheme in siteinfo.json - unzip tmplate content file *** template is ready to test: https://localhost:8085/templates/blog2 cec upload-template blog2 --server UAT
テンプレートをアップロードして、コンテンツ・タイプおよびコンテンツ・レイアウト・マップを作成します。
cec upload-template blog2 --server UAT
テンプレートをアップロードしますが、コンテンツ・アイテム(コンテンツ・テンプレート)をテンプレートから除外します。
cec upload-template blog2 --server UAT -x
これを実行して、元のサイトと同じGUIDを持つコンテンツを含むサイトを作成します。コンテンツを含むテンプレートからサイトを作成する場合、新しいサイト内のコンテンツはすべて新しいGUIDを持つことになります。新しいコンテンツを作成するのではなく、コンテンツの更新を可能にするため、テンプレートからコンテンツを除外する必要があります。
テンプレートからサイトを作成します。
cec create-site blog -t blog2 -r r -l "en-US" -d "end-US" --server UAT
コンテンツ・テンプレートをサイトのチャネルおよびコレクションにアップロードします。ステップ7でテンプレートからこれを除外したため、これを実行する必要があります。
cec upload-content blog2 -t -r r -c blog -l "blog site" --server UAT
サイトを公開して、テスト・サーバーでこれをオンラインにします。
cec control-site
コマンドを使用し、サイトを公開してオンラインにします。
cec-components> cec control-site publish --site blog --server UAT - Logged in to the remote server: https://<host>:<port> - establish user session - get site: runtimeStatus: offline publishStatus: unpublished - submit publish site - publish in process: percentage 20 - publish in process: percentage 40 - publish in process: percentage 49 - publish in process: percentage 49 - publish in process: percentage 50 - publish in process: percentage 50 - publish blob finished
DEVサーバーのサイトblog
に変更を加えた場合、UATサーバー上にすでに作成しているサイトに変更を伝播できます。
テンプレートに変更が反映されるように、サイトから別のテンプレートを作成します。
cec create-template-from-site blog3 -s blog --server DEV
テンプレートをダウンロードします。
cec download-template blog3 -s DEV
テンプレートをアップロードしてこのテンプレートからサイトを作成し、変更をテスト環境に伝播します。
cec upload-template blog3 -s UAT
このコマンドは、変更されたコンポーネントおよびテーマを作成または更新しますが、コンテンツを除外します。
update-site
コマンドを使用し、コンテンツを取得してページを更新します。
cec update-site blog -t blog3 - UAT
例:
cec-components> cec update-site blog -t blog3 --server UAT Updating site: blog3 - Logged in to remote server: https://<host>:<port> - pages : updating file# 6 of 6 files - content : updating file# 3 of 3 files - System Files : updating file# 5 of 5 files - controller : no files in update, removing files on server - favicons : no files in update, removing files on server - misc : no files in update, removing files on server - seo : no files in update, removing files on server - system : no files in update, removing files on server - created content file /Users/<user-name>/devenv/git/webclient/developer/sites-toolkit/cec-compnents/dist/blog3_export.zip - upload content file - get CSRF token - submit import job, updating content - import job in progress. . . - import job in progress. . . - import job in progress. . . - content imported: Update Site Results: - Site Pages : completed with 0 errors. - Embedded Content : completed with 0 errors. - System Files : completed with 0 errors. - Settings Files : completed with 0 errors. - Content Update : completed with 0 errors.
サイトをチェックして、変更が伝播されていることを確認します。
UATサーバーからPRODサーバーに移動するには、DEVからUATにサイトを移動する際に実行したステップと同じステップを実行します。
本番サーバーでサイトを作成し、これをオンラインにして変更を確認します。
cec list
コマンドを使用して、本番サイトのコンテンツを表示したり、開発環境で行った変更が含まれていることを確認できます。また、サイトをチェックして、変更が本番に伝播されていることを確認できます。