diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 469735e..f4a1368 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,7 +29,7 @@ cache: .build_tmpl: &build_tmpl <<: *job_tmpl script: - - 'devops build -service=${SERVICE} -project=${PROJECT_NAME} -env=${TARGET_ENV}' + - 'EMAIL_SENDER=$EMAIL_SENDER devops build -service=${SERVICE} -project=${PROJECT_NAME} -env=${TARGET_ENV}' .deploy_tmpl: &deploy_tmpl <<: *job_tmpl @@ -92,7 +92,7 @@ webapp:deploy:dev: STATIC_FILES_S3: 'true' STATIC_FILES_IMG_RESIZE: 'true' AWS_USE_ROLE: 'true' - EMAIL_SENDER: 'lee@geeksinthewoods.com' + EMAIL_SENDER: 'lee+saas-starter-kit@geeksinthewoods.com' webapi:build:dev: <<: *build_tmpl @@ -132,7 +132,7 @@ webapi:deploy:dev: STATIC_FILES_S3: 'false' STATIC_FILES_IMG_RESIZE: 'false' AWS_USE_ROLE: 'true' - EMAIL_SENDER: 'lee@geeksinthewoods.com' + EMAIL_SENDER: 'lee+saas-starter-kit@geeksinthewoods.com' #ddlogscollector:deploy:stage: # <<: *deploy_stage_tmpl diff --git a/tools/devops/cmd/cicd/migrate.go b/tools/devops/cmd/cicd/migrate.go index b1e38c2..6dacdba 100644 --- a/tools/devops/cmd/cicd/migrate.go +++ b/tools/devops/cmd/cicd/migrate.go @@ -200,7 +200,7 @@ func Migrate(log *log.Logger, req *migrateRequest) error { // Start Migrations log.Printf("\t\tStart migrations.") - if err = schema.Migrate(masterDb, log); err != nil { + if err = schema.Migrate(masterDb, log, false); err != nil { return errors.WithStack(err) } diff --git a/tools/devops/cmd/cicd/service_deploy.go b/tools/devops/cmd/cicd/service_deploy.go index b314b35..bcde41a 100644 --- a/tools/devops/cmd/cicd/service_deploy.go +++ b/tools/devops/cmd/cicd/service_deploy.go @@ -1480,7 +1480,7 @@ func ServiceDeploy(log *log.Logger, req *serviceDeployRequest) error { // Start the database migrations. log.Printf("\t\tStart migrations.") - if err = schema.Migrate(masterDb, log); err != nil { + if err = schema.Migrate(masterDb, log, false); err != nil { return errors.WithStack(err) } log.Printf("\t\tFinished migrations.") @@ -2552,22 +2552,23 @@ func ServiceDeploy(log *log.Logger, req *serviceDeployRequest) error { pks = append(pks, k) } - // Generate new regular expression for finding placeholders. - expr := "(" + strings.Join(pks, "|") + ")" - r, err := regexp.Compile(expr) - if err != nil { - return err - } + // Read the defined json task definition. dat, err := EcsReadTaskDefinition(req.ServiceDir, req.Env) if err != nil { return err } + jsonStr := string(dat) // Replace placeholders used in the JSON task definition. { - jsonStr := string(dat) + // Generate new regular expression for finding placeholders. + expr := "(" + strings.Join(pks, "|") + ")" + r, err := regexp.Compile(expr) + if err != nil { + return err + } matches := r.FindAllString(jsonStr, -1) @@ -2586,11 +2587,37 @@ func ServiceDeploy(log *log.Logger, req *serviceDeployRequest) error { jsonStr = strings.Replace(jsonStr, m, newVal, -1) } } - - dat = []byte(jsonStr) } + // Replace placeholders defined in task def but not here from env vars. + { + r, err := regexp.Compile(`{\b(\w*)\b}`) + if err != nil { + return err + } + + matches := r.FindAllString(jsonStr, -1) + if len(matches) > 0 { + log.Println("\t\tSearching for placeholders in env variables.") + + replaced := make(map[string]bool) + for _, m := range matches { + m = strings.Trim(m, "{}") + if replaced[m] { + continue + } + replaced[m] = true + + newVal := os.Getenv(m) + log.Printf("\t\t\t%s -> %s", m, newVal) + jsonStr = strings.Replace(jsonStr, m, newVal, -1) + } + } + } + dat = []byte(jsonStr) + log.Println("\t\tParse JSON to task definition.") + taskDefInput, err := parseTaskDefinitionInput(dat) if err != nil { return err