I'm deploying code to multiple orgs in parallel using a separately named project-scratch-def.json for each one. But I've come across a case where I can only deploy some triggers to one of those orgs because the triggers depend on a feature enabled in just one of the project-scratch-def.json files.

Ideally, for that one case, I'd like to be able to point to a separate sfdx-project.json in the sfdx force:source:push command where that file includes a second packageDirectories entry pointing to the triggers. Is that possible?

(An ugly way to achieve this is to use a sfdx force:mdapi:deploy -z zipFile command to layer MDAPI format content on top.)

Or could the triggers and their own sfdx-project.json just be located in separate folder in the project that the automation changes directory into and then does the sfdx force:source:push? Not much luck trying that so far...

  • force:source:deploy can replace the need for force:mdapi:deploy; it's still DX format and doesn't require any zipping. Would that help?
    – sfdcfox
    Dec 18, 2018 at 20:05
  • @sfdcfox Didn't notice that command - think it will. Will try now. Thanks!
    – Keith C
    Dec 18, 2018 at 20:06

1 Answer 1


Thanks sfdcfox!

This command allows extra files to be deployed on top of a sfdx force:source:push with the files located in an arbitrary folder:

sfdx force:source:deploy --sourcepath config-components/config2 --json --targetusername ${org.username}

So I've added a config-components directory to the project to hold configuration specific components:


and the automation I'm using does the sfdx force:source:deploy only for the appropriate configuration. Note that only deployable components can be in the --sourcepath folder tree.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .