I am trying to build “linux/amd64” image for deployent in k8s in cloud, but since i am on M1 Pro, image produced is “linux/arm64” and cannot be deployed in my case.
When it is built with ci, on linux machine, all is fine, but for debugging purposes it is not convenient to run ci every time to see it in cloud
gradle task looks like this:
plugins {
kotlin("jvm") version "1.9.24"
kotlin("plugin.spring") version "1.9.24"
id("org.springframework.boot") version "3.3.2"
id("io.spring.dependency-management") version "1.1.6"
kotlin("plugin.jpa") version "1.9.24"
id("org.springframework.boot.aot") version "3.3.2"
}
....
tasks.named<BootBuildImage>("bootBuildImage") {
val imageNameValue = System.getenv("BACKEND_IMAGE_NAME")
imageName.set(imageNameValue)
// Enable CDS and Spring AOT
environment.put("BP_JVM_CDS_ENABLED", "true")
environment.put("BP_SPRING_AOT_ENABLED", "true")
environment.put("SPRING_PROFILES_ACTIVE", "bootBuildProfile")
// For multi arch (Apple Silicon) support
builder.set("paketobuildpacks/builder-jammy-buildpackless-tiny")
buildpacks.set(listOf("paketobuildpacks/java"))
}
what I am missing and how to force it to build required image type?
New contributor
drnet_ua is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
1