Skip to content

Commit f4d036a

Browse files
authored
feat(jib): support building images from scratch
Signed-off-by: Marc Nuri <[email protected]>
1 parent 6b74bc8 commit f4d036a

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

jkube-kit/build/service/jib/src/main/java/org/eclipse/jkube/kit/service/jib/JibServiceUtil.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.function.Predicate;
2323
import java.util.stream.Collectors;
2424

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

5657
public static JibContainerBuilder containerFromImageConfiguration(
57-
ImageConfiguration imageConfiguration, String pullRegistry, Credential pullRegistryCredential) {
58-
final JibContainerBuilder containerBuilder = Jib
59-
.from(toRegistryImage(getBaseImage(imageConfiguration, pullRegistry), pullRegistryCredential))
60-
.setFormat(ImageFormat.Docker);
58+
ImageConfiguration imageConfiguration, String pullRegistry, Credential pullRegistryCredential
59+
) {
60+
final String baseImage = getBaseImage(imageConfiguration, pullRegistry);
61+
final JibContainerBuilder containerBuilder;
62+
if (baseImage.equals(ImageReference.scratch().toString() + ":latest")) {
63+
containerBuilder = Jib.fromScratch();
64+
} else {
65+
containerBuilder = Jib.from(toRegistryImage(baseImage, pullRegistryCredential));
66+
}
67+
containerBuilder.setFormat(ImageFormat.Docker);
6168
if (imageConfiguration.getBuildConfiguration() != null) {
6269
final BuildConfiguration bic = imageConfiguration.getBuildConfiguration();
6370
Optional.ofNullable(bic.getEntryPoint())

jkube-kit/build/service/jib/src/test/java/org/eclipse/jkube/kit/service/jib/JibServiceTest.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,6 @@ void prependsRegistryWhenNotConfiguredInName() throws Exception {
114114
@DisplayName("build")
115115
class Build {
116116

117-
@BeforeEach
118-
void setUp() {
119-
imageConfiguration = imageConfiguration.toBuilder()
120-
.build(imageConfiguration.getBuild().toBuilder()
121-
.from("gcr.io/distroless/base@sha256:8267a5d9fa15a538227a8850e81cf6c548a78de73458e99a67e8799bbffb1ba0")
122-
.build())
123-
.build();
124-
}
125-
126117
@Test
127118
void build() throws Exception {
128119
try (JibService jibService = new JibService(jibLogger, testAuthConfigFactory, configuration, imageConfiguration)) {

0 commit comments

Comments
 (0)