@@ -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
1617var 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