carvel-dev / carvel-dev/kbld

kbld integration with maven-jib

Open
#527 7 comments 12 reactions 0 assignees View on GitHub
carvel accepted enhancement
Dominant language
Go
Stars
329
Forks
52
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem/challenge you have**
We are currently using maven jib to build the docker image for spring boot java application and would like to build it using the kbld from the source. Something very similar to the [existing](https://github.com/carvel-dev/kbld/issues/128) bazel support feature requested here.

**Describe the solution you'd like**
Given a helm chart which uses java application docker image, kbld should be able to build the image from source.

To build docker image using maven jib, user should be able to write `Config` in the helm chart which will be read by kbld to build the image. Example,

```
sources:
- image: "docker.io/images/myimage:1.0.0"
path: "src/path_where_mvn_complie_command_will_run"
jib:
buildDocker:
moduleName: "" <---- docker image for this module will be built
destinations:
- image: "docker.io/images/myimage:1.0.0"
newImage: "local-registry/images/myImage:1.0.0"
tags: [ "latest", "v1" ]
```

image sha256 of the locally built image can be found at `target/jib-image.digest`, ref : https://github.com/GoogleContainerTools/jib/issues/1443

**Perquisites**
* maven must be installed
* docker must be installed
---
Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

Contributor guide

Open the contributing guide

Research direction

The issue names no repository files or tests. Start from the proposed Helm-chart Config and Maven Jib flow, including the moduleName setting and target/jib-image.digest. Done means kbld can build the specified Java image from source and continue the requested destination and tagging flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, spring
Domain
build-system, cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.