Propagar Alterações de Testes para Produção com o OCE Toolkit

Após desenvolver um modelo de site, pode utilizar a interface da linha de comandos (CLI) do OCE Toolkit para propagar o modelo desde o desenvolvimento aos testes para produção nos seus servidores do Oracle Content Management.

Para propagar alterações, pode utilizar comandos do Toolkit para criar sites e gerir os respetivos ciclos de vida em servidores de desenvolvimento, teste e produção. Pode efetuar alterações em sites num ambiente de desenvolvimento e propagar essas alterações para ambientes de teste e de produção. Também pode incorporar este conjunto de utilitários da linha de comandos nos seus ambientes de scripts para gerir as suas implementações. Com os utilitários da CLI, pode lançar novos itens, como ativos e componentes, bem como atualizações do conteúdo existente.

Os seguintes passos mostram como utilizar a CLI do OCE Toolkit para propagar as suas alterações desde o desenvolvimento aos testes para produção:

  1. Configure servidores de desenvolvimento, testes e produção com o mesmo repositório e perfil de localização.

    Para propagar alterações desde um servidor de desenvolvimento a um servidor de testes e, em seguida, a um servidor de produção, precisa de configurar um repositório com o mesmo nome e perfil de localização em cada um destes três servidores. O perfil de localização por omissão para o repositório de ativos está em en-US, mas pode utilizar um diferente se for o mesmo em todos os três servidores.

    Consulte Configurar Repositórios de Ativos.

  2. Registe os seus servidores de desenvolvimento, testes e produção com o Oracle Content Management.

    Antes de propagar as alterações por um site, precisa de registar cada um dos servidores. Pode registar um servidor com o comando cec register-server fornecido pelo OCE Toolkit:

    cec register-server <name>

    Especifique as seguintes opções de comando:

    • -e <endpoint> para o URL do servidor

    • -u <user> e -p <password> para ligar ao servidor

    • -t <type>, que é opcional, para definir o tipo de servidor. O valor por omissão é pod_ec.

      Quando ligar a um tenant do Oracle Content Management no Oracle Public Cloud, utilize apenas pod_ec.

    Por exemplo, o seguinte comando regista um servidor que é um tenant no Oracle Public Cloud:

    cec register-server DEV -e https://DEV.example.com -u user1 -p <password>
    

    O comando seguinte regista uma instância de desenvolvimento independente do Oracle Content Management:

    cec register-server DEV -e https://DEV.git.oraclecorp.example.com -u user1 -p <password>

    Depois de registar um servidor do Oracle Content Management, pode listar os respetivos conteúdos com o comando do Toolkit cec list.

    O seguinte comando lista o conteúdo de um servidor de desenvolvimento:

    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. Carregue um modelo de site para o seu servidor de desenvolvimento e crie um site a partir do modelo.

    Pode registar um modelo de site com o comando cec create-template e, em seguida, carregar o modelo para o servidor de desenvolvimento. Em seguida, crie um site a partir do modelo com o comando cec create-site. Os seguintes comandos criam um modelo e carregam o modelo:

    - cec create-template blog -f BlogTemplate
    - cec upload-template blog -s DEV

    O comando seguinte cria um site denominado blog a partir do modelo carregado:

    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. Publique o site e coloque-o online no seu servidor de desenvolvimento.

    Depois de criar um site, pode utilizar o comando cec control-site para publicar o site e para o colocar online:

    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. Para deslocar um site de DEV para UAT, precisa de agrupar o site. O modelo de pacote para deslocar sites entre servidores é o modelo. Crie um novo modelo do site que criou no seu servidor de desenvolvimento e descarregue o modelo.

    O comando cec create-template-from-site no seguinte exemplo cria um modelo de site denominado blog2 a partir de blog.

    cec create-template-from-site blog2 -s blog

    Descarregue o modelo que criou a partir do seu site de desenvolvimento com o comando 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. Carregue o modelo para criar os tipos de conteúdo e mapas de disposição de conteúdo.

    cec upload-template blog2 --server UAT
  7. Carregue o modelo mas exclua os itens de conteúdo (modelo de conteúdo) do modelo.

    cec upload-template blog2 --server UAT -x

    Pretende proceder desta forma para criar um site com conteúdo que tenha as mesmas GUIDs que o site original. Quando cria um site a partir de um modelo que contém conteúdo, todo o conteúdo no novo site terá novas GUIDs. Uma vez que pretendemos permitir a atualização do conteúdo e vez de criar novo conteúdo, precisa de excluir o conteúdo do modelo.

  8. Crie o site a partir do modelo.

    cec create-site blog -t blog2 -r r -l "en-US" -d "end-US" --server UAT
  9. Carregue o modelo de conteúdo para o canal e coleção do site. Precisa de proceder desta forma porque o excluiu do modelo no passo 7.

    cec upload-content blog2 -t -r r -c blog -l "blog site" --server UAT 
  10. Publique o site e coloque-o online no seu servidor de testes.

    Utilize o comando cec control-site para publicar o site e para o colocar online:

    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. Se depois efetuar alterações ao seu site blog no servidor DEV, pode propagar as alterações até ao site que já criou no servidor UAT.

  12. Crie outro modelo a parir do seu site para que o modelo tenha as suas alterações.

    cec create-template-from-site blog3 -s blog --server DEV
  13. Descarregue o modelo.

    cec download-template blog3 -s DEV
  14. Carregue o modelo e crie um site a partir do mesmo para propagar as alterações ao seu ambiente de testes.

    cec upload-template blog3 -s UAT

    Este comando cria ou atualiza quaisquer componentes e temas que tenha alterado, mas exclui o conteúdo.

  15. Agora utilize o comando update-site para escolher o conteúdo e atualizar as páginas.

    cec update-site blog -t blog3 - UAT

    Por exemplo:

    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. Verifique o site para ver se as alterações foram propagadas.

  17. Execute os mesmos passos para se deslocar do servidor UAT para o servidor PROD tal como o fez para deslocar o site do DEV para UAT.

  18. Crie o site no seu servidor de produção, coloque-o online e verifique as alterações.

    Pode utilizar o comando cec list para visualizar os conteúdos do seu site de produção e certificar-se de que inclui as alterações efetuadas no ambiente de desenvolvimento. Também pode verificar o site para ver se as alterações foram propagadas pela produção.