From 9c58d6f2deb94b1776c67e1e27d3d33977a7dbbb Mon Sep 17 00:00:00 2001 From: Jonathan Goldwasser Date: Fri, 24 May 2019 17:44:33 +0200 Subject: [PATCH] fix(toolkit): correctly pass build args to docker build (#2634) The option name (`--build-arg`) and value should be passed as separate array items. --- packages/aws-cdk/lib/docker.ts | 3 ++- packages/aws-cdk/test/test.docker.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/aws-cdk/lib/docker.ts b/packages/aws-cdk/lib/docker.ts index f554aa20422c7..a5b95303549df 100644 --- a/packages/aws-cdk/lib/docker.ts +++ b/packages/aws-cdk/lib/docker.ts @@ -57,9 +57,10 @@ export async function prepareContainerAsset(asset: ContainerImageAssetMetadataEn } } + const buildArgs = ([] as string[]).concat(...Object.entries(asset.buildArgs || {}).map(([k, v]) => ['--build-arg', `${k}=${v}`])); const baseCommand = [ 'docker', 'build', - ...Object.entries(asset.buildArgs || {}).map(([k, v]) => `--build-arg ${k}=${v}`), + ...buildArgs, '--tag', latest, asset.path ]; diff --git a/packages/aws-cdk/test/test.docker.ts b/packages/aws-cdk/test/test.docker.ts index 4b2c4c875373a..826c36ce63297 100644 --- a/packages/aws-cdk/test/test.docker.ts +++ b/packages/aws-cdk/test/test.docker.ts @@ -92,7 +92,7 @@ export = { } // THEN - const command = ['docker', 'build', '--build-arg a=b', '--build-arg c=d', '--tag', `uri:latest`, '/foo']; + const command = ['docker', 'build', '--build-arg', 'a=b', '--build-arg', 'c=d', '--tag', `uri:latest`, '/foo']; test.ok(shellStub.calledWith(command)); prepareEcrRepositoryStub.restore();