Распространение изменений из среды тестирования в среду производства с помощью инструментария OCE

После разработки шаблона сайта интерфейс командной строки (CLI) в инструментарии OCE можно использовать в целях распространения шаблона с этапа разработки на этап тестирования, а затем на этап производства, на серверах Oracle Content Management.

В целях распространения изменений можно использовать команды инструментария для создания сайтов и управления жизненным циклом на серверах разработки, тестирования и производства. Можно вносить изменения в сайты в среде разработки и распространять эти изменения на среды тестирования и производства. Кроме того, этот набор утилит командной строки можно интегрировать в среды создания сценариев для управления развертываниями. С помощью утилит интерфейса командной строки можно создавать новые элементы, такие как активы и компоненты, а также обновлять существующий контент.

Описанные ниже действия показывают, как использовать интерфейс командной строки в инструментарии OCE для перехода из среды разработки в среду тестирования, а затем в среду производства.

  1. Настройте серверы разработки, тестирования и производства с одним репозиторием и одной политикой локализации.

    Чтобы распространить изменения с сервера разработки на сервер тестирования, а затем на сервер производства, необходимо настроить репозиторий с одинаковым именем и одной и той же политикой локализации всех трех серверах. Для репозитория активов политика локализации по умолчанию — en-US, но можно использовать другую политику, если она одинакова на всех трех серверах.

    См. Настройка репозиториев активов.

  2. Зарегистрируйте свои серверы разработки, тестирования и производства с помощью Oracle Content Management.

    Перед распространением изменений на сайт необходимо зарегистрировать каждый из серверов. Сервер можно зарегистрировать с помощью команды cec register-server, предоставляемой инструментарием OCE:

    cec register-server <name>

    Можно указывать следующие параметры команды:

    • -e <конечная точка> для URL-адреса сервера;

    • -u <пользователь> и -p <пароль> для подключения к серверу;

    • -t <тип> — необязательный параметр, используемый для задания типа сервера. Значение по умолчанию: pod_ec.

      При подключении к арендатору 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 в следующем примере создает шаблон сайта с именем blog2 на основе шаблона blog.

    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. Если затем внести изменения в свой сайт blog на сервере DEV, эти изменения можно распространить на сайт, который уже создан на сервере 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 можно просмотреть контент производственного сайта и убедиться, что оно содержит изменения, внесенные в среду разработки. Кроме того, можно проверить сайт, чтобы убедиться в том, что изменения распространены на производство.