buildSalesforce

Builds a Salesforce artifact to be deployed to Salesforce Organizations or sandboxes.

Supports Full or Partial Deploy projects. Local developer files like jsconfig.json and .eslintrc.json are automatically excluded from the artifact generated.

In Full Deployment mode, it supports:

  • Building an existing Salesforce zip file from the FD_TEMP_DIR (by copying it to the artifacts folder)
  • Building an existing directory structure with a package.xml in it.
  • In this mode, all object types that are supported by the Salesforce API are supported by FlexDeploy.

In Partial Deployment mode, it supports:

  • Building a package structure from files checked out of SCM when no package.xml is present. It is automatically created from the items selected for deployment.
  • Building a package structure from files stored in a Salesforce Organization or Sandbox.
  • Building a package structure with a mixture of SCM and Salesforce sourced files. The package.xml file is generated automatically to upload the correct information to Salesforce.
  • In this mode, see the Supported Salesforce Metadata Types list for information on what types of objects are supported.


Environment/Instance Properties

Property Name

Property Code

Required

Description

Salesforce Account Code

FDSF_ACCOUNT_CODE

Yes

Salesforce Account with all the required properties like User, Password, Client Id, etc.
Salesforce HTTPS protocolFDSF_HTTPS_PROTOCOLNoThe HTTPS protocol to use to secure the connection. Defaults to TLSv1.2.
Salesforce API VersionFDSF_API_VERSIONNo

The Salesforce API version to target.

This Default will likely change with each FlexDeploy server and Saleforce plugin release in the future.

The maximum supported version of Salesforce API that is supported is linked to the version of FlexDeploy currently running.

  

Cloud Account Properties

Property Name

Property Code

Required

Description

Salesforce User Email

FDSFCA_USER

Yes

Authentication User Email.

Salesforce Password
FDSFCA_PASSWORD
No

The Salesforce password for Salesforce User.

If you are using a security token, paste the 25-digit token value to the end of your password.

If you don't know the security token, see http://salesforce.stackexchange.com/questions/95259/where-is-reset-security-token-option-in-salesforce

JWT Key File
FDSFCA_SERVER_KEY_FILE
NoPath to a file containing the private key
Client Id
FDSFCA_CLIENT_ID
NoOAuth client ID (sometimes called the consumer key)
Development Org Type
FDSFCA_ORG_TYPE
NoEnter Org type for Development Environment. Eg: Sandbox or DevHub or Developer
Salesforce URL
FDSFCA_URL
NoThe login URL of the instance the org lives on
Sandbox Name
FDSFCA_SANDBOX
NoThe name of a Sandbox to access

Project Properties

Property Name

Property Code

Required

Description

Granular Salesforce Object Types

FDSF_GRANULAR_DEPLOYMENT_OBJECTS

No

Salesforce Object Types to be used with granular support. Values are separated by commas. As of now the supported object for this is Custom Labels. 

Each custom label will be a separate file when pull from Salesforce and stored as an individual file in the SCM (GIT repository). During the build, the individual files will be merged and will generate a new file with all the custom labels. 

  

Inputs

Input Name

Input Code

Required

Description

Generate Package XML
FDSF_INP_GENERATE_PACKAGE_XML
No

Determine if package.xml is to be generated in Full Build operation. Ignored in Partial Deployment projects

Default value is true

  

Outputs

Output Name

Required

Description




  

Artifacts

This operation produces artifacts that will be stored in the artifacts repository.


Endpoint Selection

This operation will select all available endpoints associated to the Environment/Instance.


Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.


Special Considerations

Currently, when using Partial Deploy, some objects show up as two separate files in the file listing screen. If building from SCM, users must select both of them for the deployment to succeed. If building from Salesforce, or using the Full Deployment model, this is unnecessary.