Is it always necessary to build meteor application

I use Meteor for some back end services.
The advantage being that I don’t have to mess around with getting DDP to work appropriately with vanilla node.
The disadvantage is that the meteor build takes a long time.
But I don’t think I’m gaining anything for it.
For back end services (things that aren’t serving web pages to users) is it still important to run the meteor build?

The disadvantage is that the meteor build takes a long time. == define long time. We have large projects where build-time takes few seconds.

We run a build server on Azure.
2 core, about 150MB/s throughput on the hard drive
We also have an npm mirror running on the same box.
Our projects take anywhere from 4 - 7 minutes to build on that system.
It is much faster on my laptop but not practical.
A few seconds though - I’ve never experienced those speeds building for production

Apologies, you are referring to building the production bundle. While I understand your concern, is it really that problematic to have I don’t know 5 min build-time for the production build ? Are you deploying that often ?

On a side-note have you ever tried pm2-meteor for deployments ?

Yes; we use to use pm2 but eventually started using docker and ansible.

A simple issue for example is that our Mac’s don’t care if we get the capitalisation wrong in the file paths. Whilst our linux containers do.
For a trivial issue like that I would waste quite a lot of time building for our test server before realising something is wrong almost immediately.

When I check the work my dev team has done, I want to be able to put it on the test server and see that it does what it should. Occasionally I find little issues and it can quickly turn into an hour long process, most of which is waiting for rebuilds.
Most large changes require our main server and 2 supporting services to be built.
A) It adds up really quickly
B) Our biggest project currently takes about 13 minutes to rebuild.

If most of that time building the supporting services is spent preparing the package so that it is more consumable for client browsers its completely wasted for me.

I have had a project where UAT was a big problem. Basically what we did there is we had a meteor process building in dev-mode from git.

Git Push -> Meteor killed -> Git pull -> Meteor started.

Unfortunatelly it takes time to build the production build, however different strategies may be much more efficient.

1 Like