1
0
mirror of https://github.com/raseels-repos/golang-saas-starter-kit.git synced 2025-06-15 00:15:15 +02:00

checkpoint

This commit is contained in:
Lee Brown
2019-07-07 12:52:55 -08:00
parent 24dd0dff42
commit aef8054cbd
14 changed files with 2521 additions and 626 deletions

View File

@ -11,6 +11,7 @@ import (
"path/filepath"
"strings"
"geeks-accelerator/oss/saas-starter-kit/example-project/tools/truss/cmd/devops"
"geeks-accelerator/oss/saas-starter-kit/example-project/tools/truss/cmd/dbtable2crud"
"github.com/kelseyhightower/envconfig"
"github.com/lib/pq"
@ -205,6 +206,63 @@ func main() {
return dbtable2crud.Run(masterDb, log, cfg.DB.Database, dbTable, modelFile, modelName, templateDir, projectPath, c.Bool("saveChanges"))
},
},
{
Name: "build",
Aliases: []string{"serviceBuild"},
Usage: "-service=web-api -env=dev [-image=gitlab.com/example-project:latest] [-root=.]",
Flags: []cli.Flag{
cli.StringFlag{Name: "service", Usage: "name of cmd"},
cli.StringFlag{Name: "env", Usage: "dev, stage, or prod"},
cli.StringFlag{Name: "image", Usage: "release image used to tag docker build"},
cli.StringFlag{Name: "root", Usage: "project root directory"},
cli.BoolFlag{Name: "no_push", Usage: "skip docker push after build"},
cli.BoolFlag{Name: "no_cache", Usage: "skip docker cache"},
},
Action: func(c *cli.Context) error {
service := strings.TrimSpace(c.String("service"))
env := strings.TrimSpace(c.String("env"))
image := strings.TrimSpace(c.String("image"))
projectRoot := strings.TrimSpace(c.String("root"))
noPush := c.Bool("no_push")
noCache := c.Bool("no_cache")
if image == "-" {
image = ""
}
return devops.ServiceBuild(log, projectRoot, service, env, image, noPush, noCache)
},
},
{
Name: "deploy",
Aliases: []string{"serviceDeploy"},
Usage: "-service=web-api -env=dev [-image=gitlab.com/example-project:latest] [-root=.]",
Flags: []cli.Flag{
cli.StringFlag{Name: "service", Usage: "name of cmd"},
cli.StringFlag{Name: "env", Usage: "dev, stage, or prod"},
cli.StringFlag{Name: "image", Usage: "release image used to tag docker build"},
cli.StringFlag{Name: "root", Usage: "project root directory"},
cli.StringFlag{Name: "cluster, ecs_cluster", Usage: "name of the AWS EC2 cluster."},
cli.BoolFlag{Name: "vpc, enable_vpc", Usage: "skip docker push after build"},
cli.BoolFlag{Name: "no_build", Usage: "skip docker push after build"},
cli.BoolFlag{Name: "no_deploy", Usage: "skip docker push after build"},
cli.BoolFlag{Name: "no_cache", Usage: "skip docker cache"},
},
Action: func(c *cli.Context) error {
service := strings.TrimSpace(c.String("service"))
env := strings.TrimSpace(c.String("env"))
image := strings.TrimSpace(c.String("image"))
projectRoot := strings.TrimSpace(c.String("root"))
ecsCluster := strings.TrimSpace(c.String("cluster"))
enableVpc := c.Bool("vpc")
if image == "-" {
image = ""
}
return devops.ServiceDeploy(log, projectRoot, service, env, image, ecsCluster, enableVpc)
},
},
}
err = app.Run(os.Args)