Rocket.chat: Speeding Up Build

Created on 22 Mar 2016  路  10Comments  路  Source: RocketChat/Rocket.Chat

Hi All

Just wondering if anyone can point me to some ways to speed up the 'meteor build' process? I'm looking to be able to deploy changes to a single package included into the base Rocket.Chat quickly but the full build is way too slow. I'm not really familiar with Meteor and I've tried searching for partial builds, integrating a package after the build, or pre-building packages but I don't really see anything appropriate.

I'm building and deploying on Docker so if anyone had ideas on how to split the 'meteor build' step into two stages so the the first stage could be cached and the second (customised) stage just build on top that would also be helpful.

Thanks.

support

Most helpful comment

@engelgabriel @Sing-Li can you guys share the build script used currently to generated compiled in releases that are downloadable from https://rocket.chat/releases

All 10 comments

Quick start for code developers

Prerequisites:

Git
Meteor
Now just clone and start the app:
git clone https://github.com/RocketChat/Rocket.Chat.git
cd Rocket.Chat
meteor

Then your changes are instant..
When your are done you do a build..

Thanks for your answer @lunitic. I understand that process but I am looking at being able to deploy a production build more rapidly. The build is taking 10s of minutes, I would prefer to get it well under 5. Build times seem to be an issue for Meteor, I may be stuck.

@tautek DO NOT use meteor for production deployments !

meteor is used ONLY during development - only if you need to change code. For rapid development, as @lunitic pointed out.

ALWAYS use our compiled release distribution for production.

https://rocket.chat/releases

For production deployment, please see the deployment section of our docs - https://github.com/RocketChat/Rocket.Chat/wiki

Please reopen if you still have issue with deployment speed when using compiled distribution. Thx

Hi @Sing-Li I think you're confused by @lunitic's response. I'm not deploying using meteor I am building a customised version of RocketChat for deployment. I'm just trying to find a way to speed up the build itself because it is terribly slow. Looking at the build times for Meteor 1.2 vs 1.3 it may be a fundamental issue with Meteor itself so I'll leave this closed.

@tautek Ah. Sorry for the confusion.

But this is a classic problem with tracking FOSS. So the best approach is always to push your customizations upstream - like donating them back to FOSS as much as possible :smiley: Many community members are doing exactly that.

Having said that. MDG is well aware of the build-speed problem (community wide outcry!) and they have experimental branches that are faster. Meteor 1.3 with its support for npm modules also promises to improve build time further.

This seems to be much better with Meteor 1.3.
We will also work on a few improvements on our side.
Once Meteor sorts out the multiple entry point, and LiveChat interface can be integrated into the main project, this will cut the building speed to a fraction.

Will RC run on Meteor 1.3?

We are working on getting RC to run on 1.4 already. We will skip 1.3

@engelgabriel @Sing-Li can you guys share the build script used currently to generated compiled in releases that are downloadable from https://rocket.chat/releases

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Kiran-Rao picture Kiran-Rao  路  3Comments

sta-szek picture sta-szek  路  3Comments

Buzzele picture Buzzele  路  3Comments

djeber picture djeber  路  3Comments

engelgabriel picture engelgabriel  路  3Comments