@@ -22,21 +22,23 @@ import (
2222
2323// Builder holds the necessary information to build and push docker images
2424type 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 )
0 commit comments