From 86388a5be3acb4c0a427ec52e763bf2cfe81298b Mon Sep 17 00:00:00 2001 From: Marco Vito Moscaritolo Date: Wed, 7 Feb 2018 19:31:10 +0100 Subject: [PATCH] allow flag --target in build process --- cmd/drone-docker/main.go | 6 ++++++ docker.go | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/cmd/drone-docker/main.go b/cmd/drone-docker/main.go index 4b4edbb..5cf4e31 100644 --- a/cmd/drone-docker/main.go +++ b/cmd/drone-docker/main.go @@ -146,6 +146,11 @@ func main() { Usage: "build args", EnvVar: "PLUGIN_BUILD_ARGS_FROM_ENV", }, + cli.StringFlag{ + Name: "target", + Usage: "build target", + EnvVar: "PLUGIN_BUILD_TARGET", + }, cli.BoolFlag{ Name: "squash", Usage: "squash the layers at build time", @@ -227,6 +232,7 @@ func run(c *cli.Context) error { Tags: c.StringSlice("tags"), Args: c.StringSlice("args"), ArgsEnv: c.StringSlice("args-from-env"), + Target: c.String("target"), Squash: c.Bool("squash"), Pull: c.BoolT("pull-image"), Compress: c.Bool("compress"), diff --git a/docker.go b/docker.go index 229a1d0..eb32009 100644 --- a/docker.go +++ b/docker.go @@ -44,6 +44,7 @@ type ( Tags []string // Docker build tags Args []string // Docker build args ArgsEnv []string // Docker build args from env + Target string // Docker build target Squash bool // Docker build squash Pull bool // Docker build pull Compress bool // Docker build compress @@ -204,6 +205,9 @@ func commandBuild(build Build) *exec.Cmd { for _, arg := range build.Args { args = append(args, "--build-arg", arg) } + if build.Target != "" { + args = append(args, "--target", build.Target) + } labelSchema := []string{ fmt.Sprintf("build-date=%s", time.Now().Format(time.RFC3339)),