Browse Source

fix container env build not found

Mohammed Nafees 4 years ago
parent
commit
42bffe298b
3 changed files with 36 additions and 12 deletions
  1. 12 4
      cli/cmd/deploy/create.go
  2. 12 4
      cli/cmd/deploy/deploy.go
  3. 12 4
      cli/cmd/preview/build_image_driver.go

+ 12 - 4
cli/cmd/deploy/create.go

@@ -284,12 +284,20 @@ func (c *CreateAgent) CreateFromDocker(
 			env = map[string]string{}
 		}
 
-		buildEnv, err := GetNestedMap(mergedValues, "container", "env", "build")
+		envConfig, err := GetNestedMap(mergedValues, "container", "env")
 
 		if err == nil {
-			for key, val := range buildEnv {
-				if valStr, ok := val.(string); ok {
-					env[key] = valStr
+			_, exists := envConfig["build"]
+
+			if exists {
+				buildEnv, err := GetNestedMap(mergedValues, "container", "env", "build")
+
+				if err == nil {
+					for key, val := range buildEnv {
+						if valStr, ok := val.(string); ok {
+							env[key] = valStr
+						}
+					}
 				}
 			}
 		}

+ 12 - 4
cli/cmd/deploy/deploy.go

@@ -166,12 +166,20 @@ func (d *DeployAgent) GetBuildEnv(opts *GetBuildEnvOpts) (map[string]string, err
 		return nil, err
 	}
 
-	buildEnv, err := GetNestedMap(conf, "container", "env", "build")
+	envConfig, err := GetNestedMap(conf, "container", "env")
 
 	if err == nil {
-		for key, val := range buildEnv {
-			if valStr, ok := val.(string); ok {
-				env[key] = valStr
+		_, exists := envConfig["build"]
+
+		if exists {
+			buildEnv, err := GetNestedMap(conf, "container", "env", "build")
+
+			if err == nil {
+				for key, val := range buildEnv {
+					if valStr, ok := val.(string); ok {
+						env[key] = valStr
+					}
+				}
 			}
 		}
 	}

+ 12 - 4
cli/cmd/preview/build_image_driver.go

@@ -254,12 +254,20 @@ func (d *BuildDriver) Apply(resource *models.Resource) (*models.Resource, error)
 			env = map[string]string{}
 		}
 
-		buildEnv, err := deploy.GetNestedMap(mergedValues, "container", "env", "build")
+		envConfig, err := deploy.GetNestedMap(mergedValues, "container", "env")
 
 		if err == nil {
-			for key, val := range buildEnv {
-				if valStr, ok := val.(string); ok {
-					env[key] = valStr
+			_, exists := envConfig["build"]
+
+			if exists {
+				buildEnv, err := deploy.GetNestedMap(mergedValues, "container", "env", "build")
+
+				if err == nil {
+					for key, val := range buildEnv {
+						if valStr, ok := val.(string); ok {
+							env[key] = valStr
+						}
+					}
 				}
 			}
 		}