Skip to content

Commit 8eb72bd

Browse files
committed
Allow environment variables to be used in docker build argument
1 parent 0470bad commit 8eb72bd

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

pkg/skaffold/docker/parse.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ type from struct {
4444
// RetrieveImage is overridden for unit testing
4545
var RetrieveImage = retrieveImage
4646

47+
func evaluateBuildArgsValue(nameTemplate string) (string, error) {
48+
tmpl, err := util.ParseEnvTemplate(nameTemplate)
49+
if err != nil {
50+
return "", errors.Wrap(err, "parsing template")
51+
}
52+
53+
return util.ExecuteEnvTemplate(tmpl, nil)
54+
}
55+
4756
func expandBuildArgs(nodes []*parser.Node, buildArgs map[string]*string) {
4857
for i, node := range nodes {
4958
if node.Value != command.Arg {
@@ -57,7 +66,7 @@ func expandBuildArgs(nodes []*parser.Node, buildArgs map[string]*string) {
5766
// build arg's value
5867
var value string
5968
if buildArgs[key] != nil {
60-
value = *buildArgs[key]
69+
value = evaluateBuildArgsValue(*buildArgs[key])
6170
} else if len(keyValue) > 1 {
6271
value = keyValue[1]
6372
}

0 commit comments

Comments
 (0)