Open regisb opened 1 year ago
A couple optimizations are in progress here, notably for "cold-start" builds: https://github.com/overhangio/tutor/pull/812/
I propose that we prototype solutions and measure their impact in this GitHub project: https://github.com/overhangio/test-docker-build/ For instance, the Docker layer caching in a remote registry is reducing vanilla "cold-start" build-time from 28 minutes to 9 minutes:
Fantastic!! I will certainly be adding some tests there later.
Re-building the Open edX Docker images with Tutor is consistently identified as one of the main pain points of platform administrators and developers:
A constructive proposal was made by @ARMBouhali to improve this situation: https://discuss.openedx.org/t/tutor-enhancement-proposal-tep-improve-support-for-build-caching/9036
To address this issue, I think that we should beware of two pitfalls:
a. That improving build-time in one scenario will make the others worse. b. Implementing ad-hoc solutions that will increase the complexity (and thus: the reliability) of Tutor and Open edX
Before we go any further, we will need to identify/profile the build time required for each step of the building process, in each scenario (development, CI, production).
Then, my intuition is that the best solutions will reside in either:
I am worried that other solutions will cause to stumble into either pitfalls listed above -- though of course we must remain open to alternatives.
Ideas
npm ci
instead ofnpm install
(suggested by @bradenmacdonald here)