開發網站樣板之後,您可以使用 OCE 工具程式的命令行介面 (CLI) 將樣板從開發環境傳輸至 Oracle Content Management 伺服器的測試環境再到生產環境中。
若要傳輸變更,您可以使用工具程式命令建立網站,以及管理其在開發、測試和生產伺服器上的生命週期。您可以對開發環境中的網站進行變更,然後將這些變更傳輸至測試和生產環境。您也可以將這組命令行公用程式併入命令檔環境,以管理部署。您可以使用 CLI 公用程式來推行新項目 (例如資產和元件) 以及現有內容的更新。
下列步驟顯示如何使用 OCE 工具程式 CLI 將您的變更從開發環境傳輸至測試再到生產環境:
使用相同儲存區域和本地化規定設定開發、測試和生產伺服器。
若要將開發伺服器的變更傳輸至測試伺服器再到生產伺服器,您需要在三個伺服器上都設定相同名稱的儲存區域和本地化規定。資產儲存區域的預設本地化規定為 en-US,但如果三個伺服器的本地化規定都相同,您可以使用其他本地化規定。
使用 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
將網站樣板上傳至開發伺服器,並從樣板建立網站。
您可以使用 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.
檢查網站以確認已傳輸變更。
執行將網站從 DEV 移至 UAT 的相同步驟,從 UAT 伺服器移至 PROD 伺服器。
在生產伺服器上建立網站,使其上線,然後確認變更。
您可以使用 cec list
命令檢視生產網站的內容,確定其中包含您在開發環境中所作的變更。此外,您可以檢查網站以確認變更已傳輸至生產環境。