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

finished inital testing of deployment script

This commit is contained in:
Lee Brown
2019-07-09 02:21:46 -08:00
parent 2f53df6ba6
commit 6851b96a04
7 changed files with 1142 additions and 710 deletions

View File

@ -11,8 +11,8 @@ 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"
"geeks-accelerator/oss/saas-starter-kit/example-project/tools/truss/cmd/devops"
"github.com/kelseyhightower/envconfig"
"github.com/lib/pq"
_ "github.com/lib/pq"
@ -211,22 +211,30 @@ func main() {
{
Name: "deploy",
Aliases: []string{"serviceDeploy"},
Usage: "-service=web-api -env=dev [-image=gitlab.com/example-project:latest] [-root=.]",
Usage: "-service=web-api -env=dev",
Flags: []cli.Flag{
cli.StringFlag{Name: "service", Usage: "name of cmd", Destination: &deployFlags.ServiceName},
cli.StringFlag{Name: "env", Usage: "dev, stage, or prod", Destination: &deployFlags.Env},
cli.BoolFlag{Name: "enable_https", Usage: "enable HTTPS", Destination: &deployFlags.EnableHTTPS},
cli.StringFlag{Name: "domain_name", Usage: "dev, stage, or prod", Destination: &deployFlags.ServiceDomainName},
cli.StringSliceFlag{Name: "domain_name_aliases", Usage: "dev, stage, or prod", Value: &deployFlags.ServiceDomainNameAliases},
cli.StringFlag{Name: "dockerfile", Usage: "DockerFile for service", Destination: &deployFlags.DockerFile},
cli.StringFlag{Name: "root", Usage: "project root directory", Destination: &deployFlags.ProjectRoot},
cli.BoolTFlag{Name: "vpc, enable_vpc", Usage: "deploy contain behind VPC", Destination: &deployFlags.VPC},
cli.BoolFlag{Name: "elb, enable_elb", Usage: "enable deployed to use Elastic Load Balancer", Destination: &deployFlags.ELB},
cli.BoolFlag{Name: "sd, enable_sd", Usage: "register tasks with service discovery", Destination: &deployFlags.SD},
cli.StringFlag{Name: "project", Usage: "name of project", Destination: &deployFlags.ProjectName},
cli.BoolFlag{Name: "elb", Usage: "enable deployed to use Elastic Load Balancer", Destination: &deployFlags.EnableEcsElb},
cli.BoolTFlag{Name: "lambda_vpc", Usage: "deploy lambda behind VPC", Destination: &deployFlags.EnableLambdaVPC},
cli.BoolFlag{Name: "no_build", Usage: "skip build and continue directly to deploy", Destination: &deployFlags.NoBuild},
cli.BoolFlag{Name: "no_deploy", Usage: "skip deploy after build", Destination: &deployFlags.NoDeploy},
cli.BoolFlag{Name: "no_cache", Usage: "skip docker cache", Destination: &deployFlags.NoCache},
cli.BoolFlag{Name: "no_push", Usage: "skip docker push after build", Destination: &deployFlags.NoPush},
cli.BoolFlag{Name: "debug", Usage: "print additional information", Destination: &deployFlags.Debug},
cli.BoolFlag{Name: "recreate_service", Usage: "skip docker push after build", Destination: &deployFlags.RecreateService},
},
Action: func(c *cli.Context) error {
return devops.ServiceDeploy(log, &deployFlags)
req, err := devops.NewServiceDeployRequest(log, deployFlags)
if err != nil {
return err
}
return devops.ServiceDeploy(log, req)
},
},
}