---
sourceDocument: Criar ou modificar aplicações do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/application-development

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Criar ou modificar aplicações do Xanadu

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

# Dicas de implantação de produção

# Dicas de implantação de produção {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

Ao desenvolver personalizações para aplicações na plataforma ServiceNow®, você as implanta por meio do repositório de aplicações em uma instância de produção. Este tópico examina e fornece avisos para as compensações entre a instalação de uma aplicação do repositório de aplicações versus o repositório Git com controle de código-fonte.

## Visão geral {#tips-production-deployment__section_nkb_4mv_mqb}

Tecnicamente, você ainda pode "implantar" uma aplicação de um repositório Git em uma instância de produção usando o controle de código-fonte. Isso pode ter consequências indesejadas.

## Glossário de termos {#tips-production-deployment__section_zbg_2mv_mqb}

{#tips-production-deployment__table_ik3_gmv_mqb__entry__2}

| Termo | Definição |
|-|-|
| [Arquivos de aplicações ou metadados](https://servicenow-prod.fluidtopics.net/CnpnEIIRH5~M3jNOgVFIZQ "Arquivos de aplicações são registros de configuração que permitem aos desenvolvedores estender a funcionalidade da aplicação.") | Os registros sys_metadata que definem a configuração em ServiceNow e são empacotados em uma aplicação. Esses registros alteram o comportamento da instância, mas não contêm dados como incidentes ou registros do CMDB. (Consulte a nota abaixo) |
| [Aplicações com escopo](https://servicenow-prod.fluidtopics.net/zY3iadmCCTWsdfoZF9kneg "O escopo da aplicação protege as aplicações identificando e restringindo o acesso a dados e arquivos de aplicações.") | Aplicações da ServiceNow que restringem a permissão somente de atualizações e operações dentro do limite do escopo. Este mecanismo é usado para a maioria dos novos desenvolvimentos. |
| [Aplicações globais](https://servicenow-prod.fluidtopics.net/zY3iadmCCTWsdfoZF9kneg "O escopo da aplicação protege as aplicações identificando e restringindo o acesso a dados e arquivos de aplicações.") | Aplicações globais são desenvolvidas no escopo global legado. O trabalho geralmente é feito neste escopo para personalizar aplicações existentes da ServiceNow, como IT Service Management (ITSM). |
| [Repositório de aplicações](https://servicenow-prod.fluidtopics.net/Wr~8LOGjxZbTLRvUXSZ5Pw "Depois de desenvolver e testar uma aplicação personalizada, você pode disponibilizá-la para instâncias da empresa publicando-a no repositório de aplicações ServiceNow.") | As aplicações são normalmente publicadas aqui para implantação em instâncias de produção. Embora o repositório de aplicações tenha regras de atribuição separadas, ele funciona de forma semelhante à ServiceNow Store. |
| [ServiceNow Store](https://www.servicenow.com/docs/access?context=t_InstallApplications&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) | Repositório para aplicações de terceiros (fornecedor), bem como aplicações publicadas da ServiceNow. A maioria dos clientes não publica na Store, mas geralmente instala aplicações a partir dela. |
| [Conjuntos de atualizações](https://servicenow-prod.fluidtopics.net/kaYrU9s5stiht4s6f_LMvg "Um conjunto de atualizações é um grupo de mudanças de configuração que pode ser movido de uma instância para outra. Este recurso permite que os administradores agrupem uma série de mudanças em um conjunto nomeado e as movam como uma unidade para outros sistemas para teste ou implantação.") | Método padrão de personalizações de empacotamento para implantação em cada instância sucessiva. Eles contêm a coleção incremental de inserções, atualizações e exclusões. |
| [Carregamento delta](https://servicenow-prod.fluidtopics.net/5UGZ9Ag0zZaSdShyvAYc8A "\"Carregamento delta\" é uma maneira otimizada de carregar uma aplicação de um repositório Git.") | O método mais eficiente de carregamento porque ele muda somente a partir do controle de código-fonte, em vez de métodos de desinstalação/reinstalação anteriores. |
| Esquema | Definição de tabelas e colunas nas tabelas. |
| [Reverter](https://www.servicenow.com/docs/access?context=rollback-scoped-applications&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) | Os administradores podem reverter a última instalação de uma aplicação selecionada. Uma reversão remove todas as atualizações de código, tabela e arquivo da instalação inicial. |
[ ]

{#tips-production-deployment__table_ik3_gmv_mqb}  
Nota:  
A tabela sys_metadata é a tabela primária de todos os arquivos de aplicações na plataforma ServiceNow que usam o modelo de herança de tabela. Você pode exibir informações de resumo de metadados visitando a tabela primária ou as tabelas que se estendem direta ou indiretamente, conforme indicado pelo campo Tabela de extensão (super_class) no registro Tabela (sys_db_object). Você também pode ver o esquema inteiro visitando o formulário Tabela (sys_db_object) da tabela sys_metadata e selecionando o link relacionado Mostrar mapa de esquema na parte inferior do formulário. O esquema é grande e, portanto, leva algum tempo para ser renderizado.

## Local de instalação {#tips-production-deployment__section_vtz_tmv_mqb}

Quando você instala o controle de código-fonte, ele facilita o desenvolvimento contínuo de uma aplicação personalizada. Portanto, a aplicação é gerenciada como uma aplicação "Em desenvolvimento" na tabela Aplicação personalizada \[sys_app\], em vez de como uma aplicação "Instalada" na tabela Aplicação da Store \[sys_store_app\]. Ambas as tabelas são extensões de sys_scope, portanto, ambas fornecem as mesmas proteções e restrições que o escopo. Portanto, ao pesquisar a instalação de uma aplicação implantada de controle de código-fonte, consulte a tabela Aplicação do sistema \[sys_app\] e a seção em desenvolvimento da página do Gerenciador de aplicações.

Você não pode ter um registro sys_app na instância ao implantar a mesma aplicação da ServiceNow Store ou do repositório de aplicações. Os dois modelos de implantação são mutuamente exclusivos. Se a qualquer momento o modelo de implantação mudar, o registro sys_app deverá ser convertido em um registro sys_store_app primeiro. Você pode entrar em contato com o Suporte da ServiceNow para obter ajuda na execução dessa operação.

## Carregamento delta {#tips-production-deployment__section_d1r_1nv_mqb}

Antes da versão ServiceNow Paris, a instalação da aplicação a partir do controle de código-fonte sempre removia e reinstalava a aplicação inteira quando acionada, incluindo a função Aplicar mudanças remotas. Com [Carregamento delta](https://servicenow-prod.fluidtopics.net/5UGZ9Ag0zZaSdShyvAYc8A "\"Carregamento delta\" é uma maneira otimizada de carregar uma aplicação de um repositório Git."), agora somente as mudanças são atualizadas, simplificando o processo consideravelmente.  
O processo de carregamento Delta carrega as mudanças do controle de código-fonte de forma incremental. Ao aplicar mudanças remotas, você não descarta tabelas ou colunas existentes, a menos que elas tenham sido removidas do repositório. Isso preserva os dados das tabelas e campos que continuaram presentes.  
Nota:  
A propriedade glide.source_control.allow_delta_loading_in_scopedapp permite desabilitar o carregamento Delta em Paris; no entanto, isso reverterá para o comportamento mais destrutivo de remover e reinstalar a aplicação. As aplicações globais em Paris sempre usam o carregamento Delta.  
Abaixo está uma tabela dos diferentes resultados esperados em uma instância usando o carregamento Delta. {#tips-production-deployment__table_dkm_tc1_pqb__entry__6}

| Tipo de aplicação | Origem da instalação | Esquema presente no pacote | O esquema contém dados | Reivindicar por outro app (global) | Resultado esperado para dados e esquema |
|-|-|-|-|-|-|
| Com escopo | Repositório de aplicações ou armazenamento | Sim | Sim/Não | N/D | Preservado |
| Com escopo | Repositório de aplicações ou armazenamento | Não | Sim/Não | N/D | Preservado |
| Com escopo | Controle de código-fonte | Sim | Sim/Não | N/D | Preservado |
| Com escopo | Controle de código-fonte | Não | Sim/Não | N/D | Removida |
| Global | Controle de código-fonte, repositório de aplicações ou armazenamento | Sim | Sim/Não | Sim/Não | Preservado |
| Global | Controle de código-fonte, repositório de aplicações ou armazenamento | Não | Sim | Não | Preservado (1) |
| Global | Controle de código-fonte, repositório de aplicações ou armazenamento | Não | Não | Sim | Preservado (2) |
| Global | Controle de código-fonte | Não | Não | Não | Removido (3) |
| Global | Repositório de aplicações | Não | Não | Não | Preservado |
[ ]

{#tips-production-deployment__table_dkm_tc1_pqb}  
Nota:  
* Embora o esquema do banco de dados e os dados sejam preservados, eles serão movidos para a aplicação global padrão.
* Embora o esquema do banco de dados e os dados sejam preservados, eles serão movidos para a aplicação global que anteriormente detinha a reivindicação desses arquivos, se instalados. Caso contrário, eles serão movidos para a aplicação global padrão.
* Aplicável somente em colunas personalizadas com prefixo u_. As colunas criadas pela plataforma ServiceNow não são descartadas.
{#tips-production-deployment__ul_y22_1nr_hcc}

Ao alternar ramificações no controle de código-fonte para uma aplicação com escopo, tenha muito cuidado em um ambiente de produção. Se a ramificação de destino não tiver elementos de esquema encontrados na ramificação atual, o esquema relacionado será descartado, destruindo todos os dados que ele contém. (Aplicações globais não descartam o esquema quando os dados estão presentes.)

Assim como com os conjuntos de atualizações, somente um subconjunto das mudanças incrementais precisa ser aplicado com o carregamento Delta. Ao contrário dos conjuntos de atualizações, o pacote de aplicações representa a aplicação completa. Os arquivos ausentes no novo pacote são excluídos. Isso pode alterar a funcionalidade e excluir dados. Os conjuntos de atualizações e as aplicações atualizados do repositório de aplicações ou do armazenamento ServiceNow devem ter uma carga DELETE explícita para remover um arquivo ou descartar um esquema.  
Se os arquivos de aplicações estiverem sendo gerados dinamicamente de qualquer forma, a próxima instalação/aplicação remota mudará a operação de uma aplicação e excluirá esses registros. Eles são considerados ausentes no pacote de aplicações de entrada. Se você armazenar mudanças locais, os arquivos de aplicações poderão ser recuperados por uma confirmação de armazenamento, mas se os dados forem perdidos como resultado das mudanças, os dados não serão recuperados.  
Nota:  
Remover ou suprimir registros sys_update_xml evita que eles sejam removidos pelo carregamento Delta; no entanto, esta ação pode ter outros resultados graves ou indesejáveis.

As edições diretas no repositório, especialmente para remover arquivos, podem ter ramificações significativas, incluindo perda de dados e exclusões em cascata. Execute esta ação com cuidado.
* **[Atualizações opcionais do autor e do cliente](https://servicenow-prod.fluidtopics.net/U2iqteKZCZtT760IILaa2g)**   
  Ao instalar uma aplicação do repositório de aplicações ou da loja ServiceNow®, você pode definir uma série de propriedades para definir o comportamento do processamento de exclusão e escolha. Esses tipos de opções são chamados de recurso "autor opcional".
* **[Reverter, reverter e desinstalar](https://servicenow-prod.fluidtopics.net/xMRIqtGzHm1~HzDaaabOHQ)**   
  A instalação da aplicação do repositório de aplicações é registrada para reversão, o que significa que, como administrador, você pode reverter a última instalação de uma aplicação selecionada. Ao reverter uma aplicação, você remove todas as atualizações de código, tabela e arquivo da instalação inicial.
* **[Histórico de upgrades](https://servicenow-prod.fluidtopics.net/F4Re4nZVF~7fbx1jigsxeQ)**   
  Registros de histórico de upgrade e disposições de linha de histórico são gerados como parte da instalação do controle de código-fonte, fornecendo um registro da instalação.
* **[Considerações de desenvolvimento](https://servicenow-prod.fluidtopics.net/bKLuS_nffdgg4~xFoKE44w)**   
  Ao desenvolver código, considere algumas dessas sugestões para obter o desempenho mais eficiente.

