Skip to main content
From 16:00 UTC on January 17, 2026, to 20:00 UTC on January 17, 2026, we will perform planned maintenance on the Trailhead, myTrailhead, and Trailblazer Community sites. During the maintenance, these sites will be unavailable, and users won't be able to access them. Please plan your activities around this required maintenance.

Imaginar uma nova fonte da verdade

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever como os modelos de desenvolvimento de organizações diferem do desenvolvimento modular de pacotes.
  • Listar as vantagens do desenvolvimento com pacotes.
  • Descrever as principais características de um pacote.

O mundo inteiro é uma organização

Um ator famoso, ou talvez um visionário da Salesforce, disse uma vez: “O mundo inteiro é uma organização”. Tradicionalmente, o centro desse mundo tem sido sua organização de produção, e você tem realizado grande parte de seu desenvolvimento dentro dos limites de uma sandbox ou organização de produção. (Se você é parceiro do AppExchange, seu mundo é um pouco diferente. No entanto, as ferramentas apresentadas nesta unidade também estarão disponíveis para você, portanto, continue lendo.)

Como você tradicionalmente gerencia a mudança

Se você concluiu o módulo Modelo de desenvolvimento organizacional, talvez se lembre de Calvin Green, o administrador da Zephyrus Relocation Services. À medida que a Zephyrus crescia, também crescia a complexidade da organização de produção da empresa. Para gerenciar essa mudança crescente, ele começou a adotar as modernas ferramentas de desenvolvimento da Salesforce para gerenciar o ciclo de vida do aplicativo da equipe.

Vamos ver como a equipe de desenvolvimento pode trabalhar usando o Modelo de desenvolvimento organizacional.

Você coordena o desenvolvimento de uma dinâmica empresa de alta tecnologia. Para sua versão, é necessário personalizar o aplicativo de CRM principal e, além disso, você deseja criar um aplicativo interno para sua empresa. A primeira etapa do desenvolvimento é garantir uma visão mais atualizada da organização de produção. No modelo baseado na organização, sua organização de produção é a fonte da verdade para todo o seu código, configuração e personalizações.

Não importa o que você esteja criando, no final das contas você cria implantações que têm sua organização de produção como escopo. Como mostra o diagrama, mesmo que você tenha várias equipes trabalhando em projetos de desenvolvimento separados, elas desenvolvem e lançam suas atualizações com a mesma implantação. Tudo é colocado em um arquivo package.xml.

fluxo de desenvolvimento baseado na organização, do desenvolvimento ao build e à versão única

Na primeira versão, digamos que você esteja trabalhando em dois novos projetos:

(1) Projeto

(1) Desenvolvimento

(2) API de metadados (package.xml)

Personalizações/Extensões de CRM (primeira versão)

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Layout de página (adicionar)

Fluxo de trabalho (adicionar)

Classe do Apex: 1

Página do Visualforce: 1

Objeto personalizado: 2

Campo personalizado: 2

Layout de página: 1

Fluxo de trabalho: 1

Aplicativo Time Off Manager (primeira versão)

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Classe do Apex (adicionar)

Página do Visualforce (adicionar)

(3) - Tudo é lançado simultaneamente na organização de produção.

Na segunda versão, você faz pequenas atualizações. No entanto, você ainda lança e implanta os dois projetos simultaneamente na organização de produção:

(1) Projeto

(1) Desenvolvimento

(2) API de metadados (package.xml)

Personalizações/Extensões de CRM (primeira versão)

Objeto personalizado (atualizar)

Fluxo de trabalho (atualizar)

Página do Visualforce: 1

Objeto personalizado: 2

Fluxo de trabalho: 1

Aplicativo Time Off Manager (primeira versão)

Objeto personalizado (atualizar)

Página do Visualforce (atualizar)

(3) - Tudo é lançado simultaneamente na organização de produção.

Seus desenvolvedores e gerentes de versão veem a organização como um conjunto combinado de códigos e personalizações. Para esclarecer esse ponto, observe o diagrama novamente. A implantação final não está limitada ao aplicativo Time Off Manager ou apenas às extensões do CRM; ela inclui todas as alterações da organização.

Durante o desenvolvimento, você precisa acompanhar o que está alterando para ter certeza de que sabe o que implantar na organização de produção. Suas alterações se interligam com o que outros alteraram, portanto, esse processo pode ser complicado e bastante manual. Se você usar o controle de origem nesse processo, esse mesmo senso de código e personalizações interligados se refletirá no sistema de controle de origem. Você alinha seu repositório de origem com a organização e não com uma parte da organização (por exemplo, o aplicativo Time Off Manager).

Mas, e se você descobrir que sua sopa da felicidade de dados interligados se tornou muito complexa e precisar de uma maneira melhor de gerenciar mudanças? Deseja seguir um modelo de desenvolvimento mais tradicional para entregar e lançar aplicativos e soluções?

Gerenciar a mudança com o desenvolvimento com pacotes

À medida que a Zephyrus continuava a crescer, suas versões se tornavam cada vez mais complexas. Com várias equipes de desenvolvimento e vários administradores do Salesforce, Calvin queria encontrar uma maneira de desacoplar os projetos do enorme conjunto de versões. O modelo de desenvolvimento com pacotes simplifica todo o ciclo de vida de desenvolvimento e traz benefícios como:

  • Aprimoramento do desenvolvimento e colaboração da equipe.
  • Processo de desenvolvimento modular com especificação de dependências entre pacotes.
  • Controles de versão para facilitar o gerenciamento de mudanças
  • Viabilização de testes automatizados e integração contínua.
  • Aumento da eficiência e agilidade do ciclo de lançamentos.
  • Sincronização melhorada do sistema de controle de versão (VCS) graças ao rastreamento de alterações de recursos de configuração
  • Visibilidade e clareza mais refinadas no gerenciamento de mudanças da sua organização de produção

O que isso significa? Em vez de criar código e personalizações para a organização, crie um pacote (um conjunto lógico de códigos). Um pacote é um artefato de lançamento composto por um grupo de códigos e personalizações que estão relacionados.

O agrupamento de componentes em um pacote pode representar muitas coisas. O pacote pode ser um conjunto de personalizações criado para dar suporte a uma equipe de vendas. Um pacote pode ser os componentes, objetos e fluxos de trabalho do Lightning de um aplicativo que está sendo criado na organização. Um pacote pode ser as extensões que você está criando a partir de um pacote gerenciado instalado pelo AppExchange.

Com esse novo processo, você pode estruturar sua organização em um conjunto de pacotes. Com a organização da origem e dos metadados em pacotes, você entende melhor os relacionamentos entre os componentes de metadados na organização. Quanto maior for a organização, mais importante será esse processo, portanto, planeje com antecedência e sempre pense em formas de estruturar sua organização.

Um VCS é o melhor amigo do desenvolvedor e desempenha um papel fundamental no ciclo de vida do desenvolvimento com pacotes. Você armazena todas as origens dos pacotes em um repositório de controle de origem onde a fonte da verdade é mantida. Você cria organizações temporárias (de desenvolvimento) a partir dessa origem para trabalhar exclusivamente no seu pacote. Oferecemos recursos de rastreamento de alterações para monitorar o que você criou, atualizou e excluiu na organização de desenvolvimento. Você pode facilmente extrair esse código modificado para seu sistema de arquivos e colocá-lo em seu VCS.

O desenvolvimento com pacotes oferece mais flexibilidade para o gerenciamento de equipes e versões. Você pode atribuir equipes a um determinado pacote. As equipes de desenvolvimento podem desenvolver separadamente e criar uma versão do pacote, e não uma versão de atualizações para a organização. Com esse modelo ágil, é possível ter versões independentes e mais frequentes, como pode ser visto no fluxo de desenvolvimento, criação e implantação.

Para nossos clientes empresariais, temos um tipo de pacote especial, chamado pacotes desbloqueados, que é especialmente adequado para os aplicativos empresariais internos.

Como os pacotes desbloqueados oferecem flexibilidade

Vamos ver como os pacotes desbloqueados alteram a forma como lançamos a personalização do CRM e o aplicativo Time Off Manager.

fluxo de desenvolvimento baseado em artefatos, do desenvolvimento ao build e à versão

Neste exemplo, para a primeira versão, você está criando dois projetos novos. Ambos têm a versão 1.0 e podem ser criados e, em seguida, implantados na organização de produção separadamente por meio da API de metadados.

(1) Desenvolvimento

(2) Criação

(3) Versão (package.xml)

Extensões/personalizações de CRM v1.0

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Layout de página (adicionar)

Fluxo de trabalho (adicionar)

Objeto personalizado: 1

Campo personalizado: 1

Layout de página: 1

Fluxo de trabalho: 1

Aplicativo Time Off Manager v1.0

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Classe do Apex (adicionar)

Página do Apex (adicionar)

Classe do Apex: 1

Página do Apex: 1

Objeto personalizado: 1

Campo personalizado: 1

Na próxima versão, você pode novamente criar e implantar cada versão do pacote de forma independente na organização de produção. Assim, é possível manter versões distintas e diferentes para cada artefato de versão (pacote).

(4) Desenvolvimento

(5) Criação

(6) Versão (package.xml)

Extensões/personalizações de CRM v1.1

Objeto personalizado (atualizar)

Fluxo de trabalho (atualizar)

Objeto personalizado: 1

Campo personalizado (inalterado)

Layout de página (inalterado)

Fluxo de trabalho: 1

Aplicativo Time Off Manager v2.0

Objeto personalizado (atualizar)

Página do Apex (atualizar)

Classe do Apex (inalterada)

Página do Apex: 1

Objeto personalizado: 1

Campo personalizado (inalterado)

Esse processo também se aplica à CI e à CD. A criação de pacotes permite criar planos de testes concebidos especificamente para o projeto. Você pode automatizar o plano de testes para garantir um nível contínuo de qualidade executando testes em vários ambientes à medida que a origem é modificada pelo VCS.

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback