使用 OCE 工具程式將變更從測試環境傳輸到生產環境

開發網站樣板之後,您可以使用 OCE 工具程式的命令行介面 (CLI) 將樣板從開發環境傳輸至 Oracle Content Management 伺服器的測試環境再到生產環境中。

若要傳輸變更,您可以使用工具程式命令建立網站,以及管理其在開發、測試和生產伺服器上的生命週期。您可以對開發環境中的網站進行變更,然後將這些變更傳輸至測試和生產環境。您也可以將這組命令行公用程式併入命令檔環境,以管理部署。您可以使用 CLI 公用程式來推行新項目 (例如資產和元件) 以及現有內容的更新。

下列步驟顯示如何使用 OCE 工具程式 CLI 將您的變更從開發環境傳輸至測試再到生產環境:

  1. 使用相同儲存區域和本地化規定設定開發、測試和生產伺服器。

    若要將開發伺服器的變更傳輸至測試伺服器再到生產伺服器,您需要在三個伺服器上都設定相同名稱的儲存區域和本地化規定。資產儲存區域的預設本地化規定為 en-US,但如果三個伺服器的本地化規定都相同,您可以使用其他本地化規定。

    請參閱Set Up Asset Repositories

  2. 使用 Oracle Content Management 註冊您的開發、測試和生產伺服器。

    在您將變更傳輸至網站之前,您必須先註冊每個伺服器。您可以使用 OCE 工具程式提供的 cec register-server 命令註冊伺服器:

    cec register-server <name>

    請指定下列命令選項:

    • -e <endpoint> 表示伺服器 URL

    • -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. 執行將網站從 DEV 移至 UAT 的相同步驟,從 UAT 伺服器移至 PROD 伺服器。

  18. 在生產伺服器上建立網站,使其上線,然後確認變更。

    您可以使用 cec list 命令檢視生產網站的內容,確定其中包含您在開發環境中所作的變更。此外,您可以檢查網站以確認變更已傳輸至生產環境。