Comments (6)
Currently, the majority of the dockerfile build time is allocated to running the fix-permissions
script. Is there a way we could cut down the time required to run this script? @sabre1041 @tumido
from backstage-showcase.
@schultzp2020 I think you can make the Dockerfile to use the fix-permissions
script earlier in multiple layers instead of just as the last one. What that would result into is incremental changes - container layers work in a way that they store all that is changed compared to the previous layer. So, if the fix-permissions
was already executed for some files, it means the permissions don't have to be updated for them again + these files are already cached in their final state in previous layers. This should potentially (and counterintuitively) result in smaller and faster builds.
from backstage-showcase.
@tumido I have yet to try it; however, I do not believe that will work because the last (prod) stage doesn't copy files directly from the build stage. Instead the build stage creates tarballs, which are then extracted during the prod stage. Therefore, the majority of the files are not from previous stages that would benefit from running fix-permissions
in an earlier stage.
from backstage-showcase.
I think tarball preserves permissions, doesn't it? Let's try it and if it doesn't work we can try to come up with something else... 🙂
from backstage-showcase.
End users will no longer be building their own backstage showcase images, so this issue is mainly for improving our own build times for showcase and RHDH.
Currently I have only identified optimizations for the first stage (dependency installations) by only copying package.json
files rather than the entire repository.
from backstage-showcase.
There are no optimizations we can do for the dockerfile since the fix-permissions
script takes the most amount of time and we do not control the script.
from backstage-showcase.
Related Issues (20)
- backstage-showcase "not found" error handler doesn't work for plugin endpoints
- Impossible to dynamically load a number of upstream backend plugins
- Janus future
- Validate dynamic plugin wrappers against new backend system.
- Switch the Showcase backend app to the new backend system
- Migrate to new PagerDuty plugin
- Explore the support of native modules in the backend dynamic plugins.
- Team based learning paths HOT 4
- Add logging statements to scalprum-backend to log dynamic frontend plugins as well. HOT 1
- [RBAC Plugin] Implement description for RBAC role object for REST API. HOT 1
- Finalize the dynamic frontend plugin support in upstream backstage
- The showcase doesn't start locally when running `yarn start` HOT 3
- Action Required: Fix Renovate Configuration
- Add a test for AdminPage HOT 1
- Add dynamic-plugins-info plugin to the showcase image HOT 2
- Fail the build if the yarn.lock file is changed after running yarn install HOT 7
- Fix Scalprum deprecation warning
- What is app-config.dynamic-plugins.yaml used for? HOT 4
- Provide Share Documentation for best practices to maintain the postgres database with the janus
- Unsatisfied version warnings from Scalprum
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from backstage-showcase.