OCEツールキットによるテストから本番への変更の伝播

サイト・テンプレートを開発した後で、OCEツールキットのコマンドライン・インタフェース(CLI)を使用して、Oracle Content Managementサーバー上で開発からテストと本番までテンプレートを伝播できます。

変更を伝播する場合、ツールキット・コマンドを使用して、開発、テストおよび本番サーバー上でサイトを作成したりライフサイクルを管理します。開発環境でサイトに変更を行い、これらの変更をテストおよび本番環境に伝播します。この一連のコマンドライン・ユーティリティをスクリプト環境に組み入れてデプロイメントを管理することもできます。CLIユーティリティを使用すると、アセットやコンポーネントなどの新規アイテムや既存のコンテンツの更新をロールアウトできます。

次のステップでは、OCEツールキットのCLIを使用して開発からテストおよび本番まで変更を伝播する方法を示します。

  1. 同じリポジトリおよびローカリゼーション・ポリシーで開発、テストおよび本番サーバーを設定します。

    開発サーバーからテスト・サーバーと本番サーバーに変更を伝播するには、3つのサーバーのそれぞれに同じ名前およびローカリゼーション・ポリシーでリポジトリを設定する必要があります。アセット・リポジトリのデフォルト・ローカリゼーション・ポリシーはen-USですが、3つのサーバーのすべてのポリシーが同じであれば、異なるものを使用できます。

    アセット・リポジトリの設定を参照してください。

  2. 開発、テストおよび本番サーバーを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
  3. サイト・テンプレートを開発サーバーにアップロードし、テンプレートからサイトを作成します。

    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
  4. サイトを公開して、開発サーバーでこれをオンラインにします。

    サイトを作成した後で、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
    
  5. サイトを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
  6. テンプレートをアップロードして、コンテンツ・タイプおよびコンテンツ・レイアウト・マップを作成します。

    cec upload-template blog2 --server UAT
  7. テンプレートをアップロードしますが、コンテンツ・アイテム(コンテンツ・テンプレート)をテンプレートから除外します。

    cec upload-template blog2 --server UAT -x

    これを実行して、元のサイトと同じGUIDを持つコンテンツを含むサイトを作成します。コンテンツを含むテンプレートからサイトを作成する場合、新しいサイト内のコンテンツはすべて新しいGUIDを持つことになります。新しいコンテンツを作成するのではなく、コンテンツの更新を可能にするため、テンプレートからコンテンツを除外する必要があります。

  8. テンプレートからサイトを作成します。

    cec create-site blog -t blog2 -r r -l "en-US" -d "end-US" --server UAT
  9. コンテンツ・テンプレートをサイトのチャネルおよびコレクションにアップロードします。ステップ7でテンプレートからこれを除外したため、これを実行する必要があります。

    cec upload-content blog2 -t -r r -c blog -l "blog site" --server UAT 
  10. サイトを公開して、テスト・サーバーでこれをオンラインにします。

    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
  11. DEVサーバーのサイトblogに変更を加えた場合、UATサーバー上にすでに作成しているサイトに変更を伝播できます。

  12. テンプレートに変更が反映されるように、サイトから別のテンプレートを作成します。

    cec create-template-from-site blog3 -s blog --server DEV
  13. テンプレートをダウンロードします。

    cec download-template blog3 -s DEV
  14. テンプレートをアップロードしてこのテンプレートからサイトを作成し、変更をテスト環境に伝播します。

    cec upload-template blog3 -s UAT

    このコマンドは、変更されたコンポーネントおよびテーマを作成または更新しますが、コンテンツを除外します。

  15. 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.
  16. サイトをチェックして、変更が伝播されていることを確認します。

  17. UATサーバーからPRODサーバーに移動するには、DEVからUATにサイトを移動する際に実行したステップと同じステップを実行します。

  18. 本番サーバーでサイトを作成し、これをオンラインにして変更を確認します。

    cec listコマンドを使用して、本番サイトのコンテンツを表示したり、開発環境で行った変更が含まれていることを確認できます。また、サイトをチェックして、変更が本番に伝播されていることを確認できます。