Skip to content

Commit b362d64

Browse files
committed
Improve error handling in up command
1 parent ba136c8 commit b362d64

1 file changed

Lines changed: 50 additions & 44 deletions

File tree

cmd/up.go

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -301,12 +301,11 @@ func (cmd *UpCmd) buildImages(buildFlagChanged bool) bool {
301301
if randErr != nil {
302302
log.Fatalf("Image building failed: %s", randErr.Error())
303303
}
304-
registryConf, registryErr := registry.GetRegistryConfig(imageConf)
305-
306-
if registryErr != nil {
307-
log.Fatal(registryErr)
304+
registryConf, err := registry.GetRegistryConfig(imageConf)
305+
if err != nil {
306+
log.Fatal(err)
308307
}
309-
var buildErr error
308+
310309
var imageBuilder builder.Interface
311310

312311
buildInfo := "Building image '%s' with engine '%s'"
@@ -332,70 +331,77 @@ func (cmd *UpCmd) buildImages(buildFlagChanged bool) bool {
332331
if registryConf.Insecure != nil {
333332
allowInsecurePush = *registryConf.Insecure
334333
}
335-
imageBuilder, buildErr = kaniko.NewBuilder(registryURL, *imageConf.Name, imageTag, buildNamespace, cmd.kubectl, allowInsecurePush)
334+
imageBuilder, err = kaniko.NewBuilder(registryURL, *imageConf.Name, imageTag, buildNamespace, cmd.kubectl, allowInsecurePush)
335+
if err != nil {
336+
log.Fatalf("Error creating kaniko builder: %v", err)
337+
}
336338
} else {
337339
engineName = "docker"
338340
preferMinikube := true
339341

340342
if imageConf.Build.Engine.Docker.PreferMinikube != nil {
341343
preferMinikube = *imageConf.Build.Engine.Docker.PreferMinikube
342344
}
343-
imageBuilder, buildErr = docker.NewBuilder(registryURL, *imageConf.Name, imageTag, preferMinikube)
345+
346+
imageBuilder, err = docker.NewBuilder(registryURL, *imageConf.Name, imageTag, preferMinikube)
347+
if err != nil {
348+
log.Fatalf("Error creating docker client: %v", err)
349+
}
344350
}
351+
345352
log.Infof(buildInfo, imageName, engineName)
346353

347-
if buildErr == nil {
348-
username := ""
349-
password := ""
350-
registryURL := ""
354+
username := ""
355+
password := ""
351356

352-
if registryConf.URL != nil {
353-
registryURL = *registryConf.URL
357+
if registryConf.URL != nil {
358+
registryURL = *registryConf.URL
359+
}
360+
if registryConf.Auth != nil {
361+
if registryConf.Auth.Username != nil {
362+
username = *registryConf.Auth.Username
354363
}
355-
if registryConf.Auth != nil {
356-
if registryConf.Auth.Username != nil {
357-
username = *registryConf.Auth.Username
358-
}
359364

360-
if registryConf.Auth.Password != nil {
361-
password = *registryConf.Auth.Password
362-
}
365+
if registryConf.Auth.Password != nil {
366+
password = *registryConf.Auth.Password
363367
}
364-
log.StartWait("Authenticating (" + registryURL + ")")
365-
_, buildErr = imageBuilder.Authenticate(username, password, len(username) == 0)
366-
log.StopWait()
367-
368-
if buildErr == nil {
369-
log.Done("Authentication successful (" + registryURL + ")")
370-
buildOptions := &types.ImageBuildOptions{}
371-
372-
if imageConf.Build.Options != nil {
373-
if imageConf.Build.Options.BuildArgs != nil {
374-
buildOptions.BuildArgs = *imageConf.Build.Options.BuildArgs
375-
}
376-
}
377-
buildErr = imageBuilder.BuildImage(contextPath, dockerfilePath, buildOptions)
368+
}
378369

379-
if buildErr == nil {
380-
buildErr = imageBuilder.PushImage()
370+
log.StartWait("Authenticating (" + registryURL + ")")
371+
_, err = imageBuilder.Authenticate(username, password, len(username) == 0)
372+
log.StopWait()
381373

382-
if buildErr == nil {
383-
log.Info("Image pushed to registry (" + registryURL + ")")
384-
}
385-
}
374+
if err != nil {
375+
log.Fatalf("Error during image registry authentication: %v", err)
376+
}
377+
378+
log.Done("Authentication successful (" + registryURL + ")")
379+
380+
buildOptions := &types.ImageBuildOptions{}
381+
if imageConf.Build.Options != nil {
382+
if imageConf.Build.Options.BuildArgs != nil {
383+
buildOptions.BuildArgs = *imageConf.Build.Options.BuildArgs
386384
}
387385
}
388386

389-
if buildErr != nil {
390-
log.Fatalf("Image building failed: %s", buildErr.Error())
387+
err = imageBuilder.BuildImage(contextPath, dockerfilePath, buildOptions)
388+
if err != nil {
389+
log.Fatalf("Error during image build: %v", err)
391390
}
392-
imageConf.Tag = &imageTag
393391

394-
err := configutil.SaveConfig()
392+
err = imageBuilder.PushImage()
393+
if err != nil {
394+
log.Fatalf("Error during image push: %v", err)
395+
}
395396

397+
log.Info("Image pushed to registry (" + registryURL + ")")
398+
imageConf.Tag = &imageTag
399+
400+
err = configutil.SaveConfig()
396401
if err != nil {
397402
log.Fatalf("Config saving error: %s", err.Error())
398403
}
404+
399405
log.Done("Done building and pushing image '" + imageName + "'")
400406
} else {
401407
log.Infof("Skip building image '%s'", imageName)

0 commit comments

Comments
 (0)