开发站点模板后,您可以使用 OCE 工具包的命令行界面 (command-line interface, CLI) 在 Oracle Content Management 服务器上将模板从开发传播到测试再到生产。
要传播所做的更改,您可以使用工具包命令在开发、测试和生产服务器上创建站点并管理其生命周期。可以在开发环境中更改站点并将这些更改传播到测试环境和生产环境。您也可以将这组命令行实用程序并入您的脚本环境以管理部署。使用 CLI 实用程序,您可以部署新项(例如资产和组件)以及更新现有内容。
以下步骤说明如何使用 OCE 工具包 CLI 将更改从开发传播到测试再到生产:
使用相同资料档案库和本地化策略设置开发、测试和生产服务器。
要将更改从开发服务器传播到测试服务器、再到生产服务器,需要在三个服务器中的每个服务器上使用相同名称和本地化策略设置资料档案库。资产资料档案库的默认本地化策略为 en-US,但是您可以使用不同的策略,前提是该策略在所有三个服务器中都是相同的。
请参见设置资产资料档案库。
在 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.
检查站点以验证是否传播了更改。
执行相同步骤,像您将站点从 DEV 移到 UAT 那样从 UAT 服务器移到 PROD 服务器。
在您的生产服务器上创建站点,使其联机并验证更改。
可以使用 cec list
命令查看生产站点的内容,并确保它包括您在开发环境中进行的更改。此外,您还可以检查站点以验证更改是否已传播到生产。