support k8s deployment yaml generation (#247)

* simplify code, format makefile

* simplify code

* some optimize by kevwan and benying (#240)

Co-authored-by: 杨志泉 <zhiquan.yang@yiducloud.cn>

* optimization (#241)

* optimize docker file generation, make docker build faster

* support k8s deployment yaml generation

Co-authored-by: benying <31179034+benyingY@users.noreply.github.com>
Co-authored-by: 杨志泉 <zhiquan.yang@yiducloud.cn>
Co-authored-by: bittoy <bittoy@qq.com>
This commit is contained in:
Kevin Wan
2020-12-07 00:07:50 +08:00
committed by GitHub
parent f997aee3ba
commit 7a82cf80ce
17 changed files with 416 additions and 290 deletions

View File

@@ -2,6 +2,7 @@ package docker
import (
"errors"
"fmt"
"os"
"path/filepath"
"strings"
@@ -33,12 +34,29 @@ func DockerCommand(c *cli.Context) error {
return errors.New("-go can't be empty")
}
if !util.FileExists(goFile) {
return fmt.Errorf("file %q not found", goFile)
}
if _, err := os.Stat(etcDir); os.IsNotExist(err) {
return generateDockerfile(goFile)
}
cfg, err := findConfig(goFile, etcDir)
if err != nil {
return err
}
return generateDockerfile(goFile, "-f", "etc/"+cfg)
if err := generateDockerfile(goFile, "-f", "etc/"+cfg); err != nil {
return err
}
projDir, ok := util.FindProjectPath(goFile)
if ok {
fmt.Printf("Run \"docker build ...\" command in dir %q\n", projDir)
}
return nil
}
func findConfig(file, dir string) (string, error) {