An environment in Copado is a representation of a Salesforce organization or instance of an application if you are working with other clouds such as Heroku or MuleSoft. Each environment is equivalent to a stage in your development lifecycle. Suppose you are building a Heroku application, there will be four different environments, one for each stage (development, staging and production) and a local dev environment.
If you are working with a traditional Salesforce pipeline (i.e., a pipeline based on Salesforce orgs), you first need to create the credentials, one per organization, and authenticate them. Then, Copado automatically builds the Environment records for you. These Environment records are created following a pattern:
- They take the org Id from the Salesforce organization they represent. This org Id works as an external Id, which means an environment can have multiple credentials, id est, different users from the same organization.
- Upon creation, the environment takes its name from the credential to which it is tied, but you can update it afterwards.
For more information about these and other fields included in the Environment record, please refer to the article Environment Record Fields.
If you are working with a non-Salesforce pipeline, you need to create the environment first. Once the environment is created, Copado automatically builds the corresponding credentials.
To create an environment, follow the steps below:
- Navigate to the Environments tab and click on New.
- Give your environment a name.
- Select a platform (Heroku or MuleSoft).
- If you want to override the default deployment or promotion automation templates specified in the pipeline, select an automation template in the Deployment Automation Override or Promotion Automation Override fields.
- If you want to automate or schedule promotions or back-promotions, select an incoming connection behavior or create a new one.
- Click on Save.
The Environment Variables related list on the Environment record allows you to define an environment variable for a particular environment to make commits, deployments, branch validation and Selenium test cases environment agnostic. For more information about this feature check out the article Environment Variables.