[AAE-6118] make builder args a variadic options (#7296)

* make builder args a variadic options

* Update docker.ts
This commit is contained in:
Eugenio Romano 2021-10-12 10:16:13 +01:00 committed by GitHub
parent 1e62b46060
commit 567ca18547
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -26,6 +26,7 @@ enum TARGETS {
Publish = 'publish',
Link = 'link'
}
export interface PublishArgs {
tag?: string;
loginCheck?: boolean;
@ -33,7 +34,7 @@ export interface PublishArgs {
loginPassword?: string;
loginRepo?: string;
dockerRepo?: string;
buildArgs?: string;
buildArgs?: string[];
dockerTags?: string;
pathProject: string;
}
@ -46,7 +47,14 @@ function loginPerform(args: PublishArgs) {
function buildImagePerform(args: PublishArgs, tag: string) {
logger.info(`Perform docker build...${args.dockerRepo}:${tag}`);
const response = exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, `--build-arg=${args.buildArgs}`, args.pathProject], {});
let buildArgs = [];
args.buildArgs.forEach((envVar) => {
buildArgs.push (`--build-arg=${envVar}`);
});
const response = exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, ...buildArgs, args.pathProject], {});
logger.info(response);
}
@ -89,7 +97,7 @@ function main(args) {
.option('--loginCheck [type]', 'perform login')
.option('--pathProject [type]', 'the path build context')
.option('--sourceTag [type]', 'sourceTag')
.option('--buildArgs [type]', 'buildArgs')
.option('--buildArgs [type...]', 'buildArgs')
.option('--target [type]', 'target: publish or link', TARGETS.Publish)
.requiredOption('--dockerRepo [type]', 'docker repo')
.requiredOption('--dockerTags [type]', ' tags')