Skip to content

Commit

Permalink
feat(jib): support building images from scratch
Browse files Browse the repository at this point in the history
Signed-off-by: Marc Nuri <marc@marcnuri.com>
  • Loading branch information
manusa committed May 23, 2024
1 parent 6b74bc8 commit f4d036a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;

import com.google.cloud.tools.jib.api.ImageReference;
import org.eclipse.jkube.kit.build.api.assembly.BuildDirs;
import org.eclipse.jkube.kit.common.Assembly;
import org.eclipse.jkube.kit.common.AssemblyFileEntry;
Expand Down Expand Up @@ -54,10 +55,16 @@ private JibServiceUtil() {
private static final String BUSYBOX = "busybox:latest";

public static JibContainerBuilder containerFromImageConfiguration(
ImageConfiguration imageConfiguration, String pullRegistry, Credential pullRegistryCredential) {
final JibContainerBuilder containerBuilder = Jib
.from(toRegistryImage(getBaseImage(imageConfiguration, pullRegistry), pullRegistryCredential))
.setFormat(ImageFormat.Docker);
ImageConfiguration imageConfiguration, String pullRegistry, Credential pullRegistryCredential
) {
final String baseImage = getBaseImage(imageConfiguration, pullRegistry);
final JibContainerBuilder containerBuilder;
if (baseImage.equals(ImageReference.scratch().toString() + ":latest")) {
containerBuilder = Jib.fromScratch();
} else {
containerBuilder = Jib.from(toRegistryImage(baseImage, pullRegistryCredential));
}
containerBuilder.setFormat(ImageFormat.Docker);
if (imageConfiguration.getBuildConfiguration() != null) {
final BuildConfiguration bic = imageConfiguration.getBuildConfiguration();
Optional.ofNullable(bic.getEntryPoint())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,15 +114,6 @@ void prependsRegistryWhenNotConfiguredInName() throws Exception {
@DisplayName("build")
class Build {

@BeforeEach
void setUp() {
imageConfiguration = imageConfiguration.toBuilder()
.build(imageConfiguration.getBuild().toBuilder()
.from("gcr.io/distroless/base@sha256:8267a5d9fa15a538227a8850e81cf6c548a78de73458e99a67e8799bbffb1ba0")
.build())
.build();
}

@Test
void build() throws Exception {
try (JibService jibService = new JibService(jibLogger, testAuthConfigFactory, configuration, imageConfiguration)) {
Expand Down

0 comments on commit f4d036a

Please sign in to comment.