Comments (7)
Long term yes. Short term, there is a problem preventing this.
The Paketo builders have a lot of layers to them, so many that we are getting close to the hard limit supported by Docker. We're not adding them now, because of this hard limit. There is some work that needs to be done to squash down the layers on the builder and when that is done we will add in all of the APM related buildpacks.
from java.
The documented process right now is a custom build command.
pack build samples/java --volume "$(pwd)/binding:/platform/bindings/skywalking" -b urn:cnb:builder:paketo-buildpacks/java -b paketo-buildpacks/apache-skywalking
By putting the Paketo Java buildpack first, then the APM buildpack you want to use (you can substitute any of them for skywalking in the example above) it let's the normal build happen and then the APM buildpack runs last, which works fine for the APM buildpacks.
https://paketo.io/docs/howto/app-monitor/#apm-buildpacks-with-paketo-builders
from java.
In meanwhile, whats your recommendations....
Shall we create our own custom builder with buildpacks that we need ?
from java.
on the other note, do you know how to achieve the same without pack
but using the /cnb/lifecycle/creator
.
probably the creator
s -buildpacks
arg can be used but it accepts directory only, which is a bit cumbersome.
from java.
I don't sorry, I'm not that familiar with using creator directly. You could try asking on the CNB Github or Slack.
from java.
Long term yes. Short term, there is a problem preventing this.
The Paketo builders have a lot of layers to them, so many that we are getting close to the hard limit supported by Docker. We're not adding them now, because of this hard limit. There is some work that needs to be done to squash down the layers on the builder and when that is done we will add in all of the APM related buildpacks.
Just a question on builder images - why does the builder image so large and have these many # of layers? I am not an expert on the buildpacks, but my understanding is that the builder contains the buildpacks definitions(textual metadata only), which if detected to be used, the buildpack would download the required binaries/packages to contribute the layer needed by that particular buildpack. for example, if my application is a springboot app, by using the base
builder, would it download the binaries required to build Node.js, .Net Core, Go, etc ? which are never going to be used.
from java.
Long term yes. Short term, there is a problem preventing this.
The Paketo builders have a lot of layers to them, so many that we are getting close to the hard limit supported by Docker. We're not adding them now, because of this hard limit. There is some work that needs to be done to squash down the layers on the builder and when that is done we will add in all of the APM related buildpacks.
Just a question on builder images - why does the builder image so large and have these many # of layers? I am not an expert on the buildpacks, but my understanding is that the builder contains the buildpacks definitions(textual metadata only), which if detected to be used, the buildpack would download the required binaries/packages to contribute the layer needed by that particular buildpack. for example, if my application is a springboot app, by using the base builder, would it download the binaries required to build Node.js, .Net Core, Go, etc ? which are never going to be used.
The builder image is larger because of a couple of reasons:
- It contains the base image for build time. This is often larger because we include more tools and dev libraries/source code that are often only required at build time.
- The builder contains a copy of all of the buildpacks that are available in that builder. Each individual buildpack is not that large. A couple of Go static binaries and some text data (it does not include buildpack installed dependencies like a JVM or Go SDK). The challenge is that buildpacks are intentionally kept small and composable, so that like puzzle pieces you can arrange them together for different use cases. This unfortunately results in an explosion of layers on the builder.
The buildpack tooling can certainly do better about this, but at the moment it basically just pushes all of the buildpacks into the image each on its own layer.
from java.
Related Issues (20)
- Implement RFC0044: Disable SBOM HOT 2
- Java Buildpack 10.2.0 Error HOT 2
- When the image built using bootBuildImage creates files or folders with Chinese names at runtime, their names will be garbled HOT 1
- When BP_JVM_VERSION is 21, the workspace owner has a problem. HOT 3
- No builldpack.toml found in java 10.7.0 HOT 4
- Maven Buildpack fails with code 145 HOT 7
- Validating stack mixins fails HOT 1
- Add Node into the buildpack order group HOT 6
- Add custom folders during paketo build HOT 12
- OpenJDK error with cgroups v2 HOT 6
- Enable option and support to specify a different JVM as an environment variable. HOT 5
- Request to Update Bellsoft Liberica Buildpacks to 9.4.2 as default HOT 3
- Implement RFC0052: Graceful Stack Upgrades HOT 3
- Spring Boot Native Builds with bellsoft-liberica:9.9.0-ea crash since this morning with 403 HOT 3
- Make it easier to run apps that require fonts HOT 2
- Support ability to use cyclonedx-maven-plugin HOT 6
- Support Structured Log Format HOT 1
- repo.spring.io brown-out process is breaking spring boot builds HOT 4
- build image un-idempotency HOT 5
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 java.