In SuiteCloud Development Framework (SDF), to prepare a SuiteCloud project for deployment, reference the NetSuite components that you want to deploy in the deploy.xml file. SDF uses this file to determine the order in which files and objects are deployed to a target NetSuite account.
When you create a SuiteCloud project, a deploy file is automatically generated. By default, the file is configured to deploy all supported files in the FileCabinet/SuiteScripts folder and all SDF custom objects in the Objects folder. In an account customization project, the file is configured to deploy the account configuration set in the AccountConfiguration folder. You can customize which NetSuite components to deploy by adjusting the file paths specified in the path elements that are nested in the configuration, files and objects elements. SDF processes each path element sequentially when the project is deployed. You can create multiple files and objects elements to control the order in which files and objects are deployed.
When customizing the deploy file, ensure that the NetSuite components that are dependent on other NetSuite components are deployed afterwards. This practice helps prevent order validation errors from occurring.
Each path must start with a tilde ( ~ ), which denotes the root path of your project.
You can use an asterisk ( * ) in a path to represent all files in a particular folder. During deployment, SDF ensures that all the files in that folder are deployed to a target account in an appropriate order that does not cause order validation errors.
In a SuiteApp project, you can only reference NetSuite components that exist in the project, or objects from an SDF SuiteApp installed to the account. SuiteApp projects can include SDF installation scripts that are automatically executed when the project is deployed. For more information, see Customizing SuiteApp Project Deployment using SDF Installation Scripts.
In an account customization project, you can reference components that exist in the target NetSuite account by declaring them as dependencies in the project manifest. Path names are case-sensitive.
When deploying a project from SuiteCloud IDE plug-in, all files within the project folder are compressed and submitted to the server. For example, omitting a custom employee record from deploy.xml does not prevent the object from being included in the compressed file that is sent to the server. However, when the compressed file is on the server, only files and objects defined in deploy.xml are deployed to the target NetSuite account.
There can be a negative performance impact on deployment when there are a large number of files in the project that are not specified for deployment. Deployment performance can be improved by only including project files that are intended to be deployed.
The maximum file size of your SuiteCloud project (compressed as a zip file during deployment) is 50 MB. To maintain a small project size, you should use File Cabinet to upload large files and images to NetSuite rather than SDF.
Custom objects in an account customization project always replace the custom objects in the NetSuite account when you deploy, regardless of any previous changes made to those objects in the account.
For more information about deploying SuiteCloud projects to a target NetSuite account, see:
deploy in Java CLI
project:deploy in Node CLI
The following example shows a deploy file for an account customization project. In this example, the project is set to deploy the account configuration that is specified in the AccountConfiguration folder. All files in the FileCabinet/SuiteScripts folder are deployed, and two SDF custom objects, customrecord_employee.xml and customrecord_company.xml, are deployed.
<deploy> <configuration> <path>~/AccountConfiguration/*</path> </configuration> <files> <path>~/FileCabinet/SuiteScripts/*</path> </files> <objects> <path>~/Objects/customrecord_employee.xml</path> <path>~/Objects/customrecord_company.xml</path> </objects> </deploy>
Deploy File Templates
In case you need to restore your deploy file, copy the following XML content in a local deploy.xml file and save it in the project folder:
- Developing SuiteCloud Projects for SuiteCloud Development Framework
- Account Component Imports to SuiteCloud Projects
- SDF Custom Object Dependencies in SuiteApps
- Account Component Dependencies in SuiteCloud Projects
- Feature Dependencies for SDF Custom Objects in SuiteCloud Projects
- Account Configuration from an Account Customization Project
- SDF Custom Object and File Development in SuiteCloud Projects
- SuiteCloud Project Validation
- Deployment Logs for SuiteCloud Projects
- Viewing and Uninstalling SDF SuiteApps in a NetSuite Account
- Publishing an SDF SuiteApp