Skip to content

Commit 8c13651

Browse files
committed
Merge branch 'master' of https://github.com/covexo/devspace into examples
merge with master
2 parents ba4d0c9 + 73f7b33 commit 8c13651

3 files changed

Lines changed: 26 additions & 10 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: 5 additions & 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
}
@@ -176,6 +176,10 @@ func Build(client *kubernetes.Clientset, generatedConfig *generated.Config, imag
176176
log.Info("Image pushed to registry (" + displayRegistryURL + ")")
177177

178178
// Update config
179+
if registryURL != "" {
180+
imageName = registryURL + "/" + imageName
181+
}
182+
179183
generatedConfig.ImageTags[imageName] = imageTag
180184

181185
log.Done("Done building and pushing image '" + imageName + "'")

pkg/devspace/registry/registry.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,24 +135,30 @@ func waitForRegistry(registryNamespace, registryReleaseDeploymentName string, cl
135135
// GetImageURL returns the image (optional with tag)
136136
func GetImageURL(generatedConfig *generated.Config, imageConfig *v1.ImageConfig, includingLatestTag bool) string {
137137
image := *imageConfig.Name
138+
registryURL := ""
138139

139140
if imageConfig.Registry != nil {
140141
registryConfig, registryConfErr := GetRegistryConfig(imageConfig)
141142
if registryConfErr != nil {
142143
log.Fatal(registryConfErr)
143144
}
144145

145-
registryURL := *registryConfig.URL
146+
registryURL = *registryConfig.URL
146147
if registryURL != "" && registryURL != "hub.docker.com" {
147148
image = registryURL + "/" + image
148149
}
149150
}
150151

152+
fullImageName := *imageConfig.Name
153+
if registryURL != "" {
154+
fullImageName = registryURL + "/" + fullImageName
155+
}
156+
151157
if includingLatestTag {
152158
if imageConfig.Tag != nil {
153159
image = image + ":" + *imageConfig.Tag
154160
} else {
155-
image = image + ":" + generatedConfig.ImageTags[*imageConfig.Name]
161+
image = image + ":" + generatedConfig.ImageTags[fullImageName]
156162
}
157163
}
158164

0 commit comments

Comments
 (0)