Skip to content

Commit 4b04f9d

Browse files
authored
Merge pull request #295 from covexo/kaniko-cache
Kaniko can use cache now
2 parents 3125da5 + 800e859 commit 4b04f9d

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

pkg/devspace/builder/kaniko/kaniko.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,23 @@ import (
2222

2323
// Builder holds the necessary information to build and push docker images
2424
type Builder struct {
25-
RegistryURL string
26-
ImageName string
27-
ImageTag string
28-
BuildNamespace string
25+
RegistryURL string
26+
ImageName string
27+
ImageTag string
28+
PreviousImageTag string
29+
BuildNamespace string
2930

3031
allowInsecureRegistry bool
3132
kubectl *kubernetes.Clientset
3233
}
3334

3435
// NewBuilder creates a new kaniko.Builder instance
35-
func NewBuilder(registryURL, imageName, imageTag, buildNamespace string, kubectl *kubernetes.Clientset, allowInsecureRegistry bool) (*Builder, error) {
36+
func NewBuilder(registryURL, imageName, imageTag, lastImageTag, buildNamespace string, kubectl *kubernetes.Clientset, allowInsecureRegistry bool) (*Builder, error) {
3637
return &Builder{
3738
RegistryURL: registryURL,
3839
ImageName: imageName,
3940
ImageTag: imageTag,
41+
PreviousImageTag: lastImageTag,
4042
BuildNamespace: buildNamespace,
4143
allowInsecureRegistry: allowInsecureRegistry,
4244
kubectl: kubectl,
@@ -85,7 +87,7 @@ func (b *Builder) BuildImage(contextPath, dockerfilePath string, options *types.
8587
Containers: []k8sv1.Container{
8688
{
8789
Name: "kaniko",
88-
Image: "gcr.io/kaniko-project/executor:debug-60bdda4c49b699f5a21545cc8a050a5f3953223f",
90+
Image: "gcr.io/kaniko-project/executor:debug-5ac29a97734170a0547fea33b348dc7c328e2f8a",
8991
ImagePullPolicy: k8sv1.PullIfNotPresent,
9092
Command: []string{
9193
"/busybox/sleep",
@@ -205,8 +207,12 @@ func (b *Builder) BuildImage(contextPath, dockerfilePath string, options *types.
205207
"--single-snapshot",
206208
}
207209

210+
if !options.NoCache {
211+
kanikoBuildCmd = append(kanikoBuildCmd, "--cache=true", "--cache-repo="+b.PreviousImageTag)
212+
}
213+
208214
if b.allowInsecureRegistry {
209-
kanikoBuildCmd = append(kanikoBuildCmd, "--insecure-skip-tls-verify")
215+
kanikoBuildCmd = append(kanikoBuildCmd, "--insecure", "--skip-tls-verify")
210216
}
211217

212218
stdin, stdout, stderr, execErr := kubectl.Exec(b.kubectl, buildPod, buildContainer.Name, kanikoBuildCmd, false, exitChannel)

pkg/devspace/image/build.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func Build(client *kubernetes.Clientset, generatedConfig *generated.Config, imag
102102
allowInsecurePush = *registryConf.Insecure
103103
}
104104

105-
imageBuilder, err = kaniko.NewBuilder(registryURL, imageName, imageTag, buildNamespace, client, allowInsecurePush)
105+
imageBuilder, err = kaniko.NewBuilder(registryURL, imageName, imageTag, (*generatedConfig).ImageTags[imageName], buildNamespace, client, allowInsecurePush)
106106
if err != nil {
107107
log.Fatalf("Error creating kaniko builder: %v", err)
108108
}

0 commit comments

Comments
 (0)