sfdx project deploy start vs?

30 views
Skip to first unread message

Jeroen Binnekamp

unread,
Jun 27, 2023, 3:51:13 PM6/27/23
to Illuminated Cloud General Discussion
Hi,

We use IntelliJ in combination with Illuminated Cloud 2. So far we have always been working in our projects with sfdx cli -> sfdx force:source:push and pull which is now changed to project deploy / retrieve. Although this works we find that pulling and pushing the code to a scratch org is time consuming. Especially when you compare making a change in your org using e.g. developer console. 

Now my question is what would be the best setup to work more efficiently when developing on a scratch org? pulling and pushing source takes a long time vs developer console is very fast but then I am not working in IntelliJ anymore. 

We could also use the Deploy Modified Metadata using Illuminated Cloud, which seems to be much more faster, my question is however can we simply mix the use push and deploy? Or are there any risk in combining the two methods?

Thanks for your response.

Jeroen

Scott Wells

unread,
Jun 27, 2023, 4:08:40 PM6/27/23
to Illuminated Cloud General Discussion, jbinn...@gmail.com
Hi. Developer Console uses the Tooling API which is generally very fast compared to just about any other way of deploying (supported) metadata. IC2 also supports deployment via that API. However, when working with scratch orgs, the default is to use source tracked push and pull to move metadata back and forth. IC2 fully supports working against scratch orgs using the same (typicaly more efficient in my experience) API/CLI-based approach that is used with non-scratch orgs, though, via the connection option Use deploy/retrieve/delete instead of push/pull which is documented here:


When that option is enabled, instead of push/pull, IC2 will use the more "raw" metadata actions instead. When possible, it will use the Tooling API for deployment just like Developer Console.

You can technically still use push and pull against those orgs, but note that when doing so, you will likely be prompted about conflicts because things were synchronized via direct API access without updating source tracking metadata. You will need to reconcile those conflicts before allowing the push/pull action to proceed with the "--force" flag.

Please let me know if that doesn't provide what you're wanting.

Regards,
Scott Wells
Reply all
Reply to author
Forward
0 new messages