Newer Version Available

This content describes an older version of this product. View Latest

Build and Release Your App

When you finish writing your code, the next step is to deploy it. We offer different deployment options based on your role and needs as a customer, system integrator, or independent software vendor (ISV) partner.
To learn about the benefits of the different development models, review these Trailhead modules:

Based on your adoption readiness, review this table for your recommended options:

Adoption Readiness Customers and Non-ISV Partners ISV Partners
Ready to adopt a package-based development model Unlocked package

An unlocked package is for customers who want to organize metadata into a package and deploy the metadata (via packages) to different orgs. Unlocked packages were previously called developer-controlled packages.

An unlocked package offers a super-set of the capabilities of an unmanaged package. Therefore, unmanaged packages aren’t listed in this table.

Note

For more information, see Unlocked Packages (Generally Available) and Second-Generation Managed Packages (Beta).

First-Generation (1GP) managed package

If you are an ISV that develops apps and lists them on AppExchange, Salesforce recommends managed packages. Second-Generation (2GP) managed packages are in beta, and many ISVs are testing them in their internal development stages. However, we recommend that you continue using 1GP managed packages for customer distribution until 2GP is generally available. 2GP doesn’t yet include certain key parity features with managed packages, such as push upgrades, LMA, ability to list on AppExchange, and patch versions.

For more information on 1GP managed packages, see First-Generation Managed Packages. For more information on 2GP managed packages, see Unlocked Packages (Generally Available) and Second-Generation Managed Packages (Beta)

Not ready for a package-based development model Change sets, or org development via Salesforce CLI

For more information, see Build and Release Your App with Metadata API.

N/A