Skip to content

Commit c236e71

Browse files
committed
Refactor & Docker builder interface
1 parent 29d1615 commit c236e71

4 files changed

Lines changed: 45 additions & 21 deletions

File tree

cmd/up.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/covexo/devspace/pkg/util/log"
1414

15-
"github.com/covexo/devspace/pkg/devspace/kaniko"
15+
"github.com/covexo/devspace/pkg/devspace/builder/kaniko"
1616
"github.com/covexo/devspace/pkg/devspace/registry"
1717
synctool "github.com/covexo/devspace/pkg/devspace/sync"
1818

Lines changed: 44 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,49 +10,73 @@ import (
1010
"context"
1111

1212
"github.com/covexo/devspace/pkg/util/log"
13+
"github.com/docker/docker/api/types"
1314
"k8s.io/client-go/tools/clientcmd"
1415
)
1516

1617
var isMinikubeVar *bool
1718

19+
const dockerFileFolder = ".docker"
20+
21+
// Builder holds the necessary information to build and push docker images
22+
type Builder struct {
23+
RegistryURL string
24+
ImageName string
25+
ImageTag string
26+
}
27+
28+
// NewBuilder creates a new docker Builder instance
29+
func NewBuilder(registryURL, imageName, imageTag string, preferMinikube bool) *Builder {
30+
return &Builder{
31+
RegistryURL: registryURL,
32+
ImageName: imageName,
33+
ImageTag: imageTag,
34+
}
35+
}
36+
37+
// Authenticate authenticates the cli with a remote registry
38+
func (b *Builder) Authenticate(user, password string) error {
39+
return nil
40+
}
41+
1842
// BuildImage builds a dockerimage with the docker cli
19-
func BuildImage(dockerfilePath, buildtag string, buildArgs []string) error {
43+
func (b *Builder) BuildImage(contextPath, dockerfilePath string, options *types.ImageBuildOptions) error {
2044
if isMinikube() {
21-
err := builImageMinikube(dockerfilePath, buildtag, buildArgs)
45+
err := builImageMinikube(dockerfilePath, b.RegistryURL+b.ImageName+b.ImageTag, nil)
2246

2347
if err == nil {
2448
return nil
2549
}
2650

2751
// Fallback to normal docker cli if minikube failed
2852
}
53+
/*
54+
ctx := context.Background()
55+
cwd, err := os.Getwd()
56+
if err != nil {
57+
return err
58+
}
2959
30-
ctx := context.Background()
31-
cwd, err := os.Getwd()
32-
if err != nil {
33-
return err
34-
}
35-
36-
dockerArgs := []string{"build", cwd, "--file", dockerfilePath, "-t", buildtag}
37-
dockerArgs = append(dockerArgs, buildArgs...)
60+
dockerArgs := []string{"build", cwd, "--file", dockerfilePath, "-t", buildtag}
61+
dockerArgs = append(dockerArgs, buildArgs...)
3862
39-
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
63+
cmd := exec.CommandContext(ctx, "docker", dockerArgs...)
4064
41-
cmd.Stdout = log.GetInstance()
42-
cmd.Stderr = log.GetInstance()
65+
cmd.Stdout = log.GetInstance()
66+
cmd.Stderr = log.GetInstance()
4367
44-
err = cmd.Run()
68+
err = cmd.Run()
4569
46-
if err != nil {
47-
return err
48-
}
70+
if err != nil {
71+
return err
72+
}*/
4973

5074
return nil
5175
}
5276

5377
// PushImage pushes an image to the specified registry
54-
func PushImage(buildtag string) error {
55-
if isMinikube() {
78+
func (b *Builder) PushImage() error {
79+
/*if isMinikube() {
5680
err := pushImageMinikube(buildtag)
5781
5882
if err == nil {
@@ -74,7 +98,7 @@ func PushImage(buildtag string) error {
7498
7599
if err != nil {
76100
return err
77-
}
101+
}*/
78102

79103
return nil
80104
}

0 commit comments

Comments
 (0)