Просмотр исходного кода

add builder and buildpacks options to apply cli

Alexander Belanger 4 лет назад
Родитель
Сommit
36e41ffd44
3 измененных файлов с 15 добавлено и 3 удалено
  1. 12 1
      cli/cmd/apply.go
  2. 1 1
      cli/cmd/create.go
  3. 2 1
      cli/cmd/deploy/create.go

+ 12 - 1
cli/cmd/apply.go

@@ -137,6 +137,8 @@ type ApplicationConfig struct {
 		Context    string
 		Dockerfile string
 		Image      string
+		Builder    string
+		Buildpacks []string
 	}
 
 	Values map[string]interface{}
@@ -354,12 +356,21 @@ func (d *Driver) createApplication(resource *models.Resource, client *api.Client
 		},
 	}
 
+	var buildConfig *types.BuildConfig
+
+	if appConf.Build.Builder != "" {
+		buildConfig = &types.BuildConfig{
+			Builder:    appConf.Build.Builder,
+			Buildpacks: appConf.Build.Buildpacks,
+		}
+	}
+
 	var subdomain string
 
 	if appConf.Build.Method == "registry" {
 		subdomain, err = createAgent.CreateFromRegistry(appConf.Build.Image, appConf.Values)
 	} else {
-		subdomain, err = createAgent.CreateFromDocker(appConf.Values, sharedOpts.OverrideTag)
+		subdomain, err = createAgent.CreateFromDocker(appConf.Values, sharedOpts.OverrideTag, buildConfig)
 	}
 
 	if err != nil {

+ 1 - 1
cli/cmd/create.go

@@ -217,7 +217,7 @@ func createFull(_ *types.GetAuthenticatedUserResponse, client *api.Client, args
 	}
 
 	if source == "local" {
-		subdomain, err := createAgent.CreateFromDocker(valuesObj, "default")
+		subdomain, err := createAgent.CreateFromDocker(valuesObj, "default", nil)
 
 		return handleSubdomainCreate(subdomain, err)
 	} else if source == "github" {

+ 2 - 1
cli/cmd/deploy/create.go

@@ -218,6 +218,7 @@ func (c *CreateAgent) CreateFromRegistry(
 func (c *CreateAgent) CreateFromDocker(
 	overrideValues map[string]interface{},
 	imageTag string,
+	extraBuildConfig *types.BuildConfig,
 ) (string, error) {
 	opts := c.CreateOpts
 
@@ -293,7 +294,7 @@ func (c *CreateAgent) CreateFromDocker(
 	if opts.Method == DeployBuildTypeDocker {
 		err = buildAgent.BuildDocker(agent, opts.LocalPath, opts.LocalPath, opts.LocalDockerfile, imageTag, "")
 	} else {
-		err = buildAgent.BuildPack(agent, opts.LocalPath, imageTag, "", nil)
+		err = buildAgent.BuildPack(agent, opts.LocalPath, imageTag, "", extraBuildConfig)
 	}
 
 	if err != nil {