fix: build args docker compose

This commit is contained in:
Andras Bacsai 2023-01-17 10:00:27 +01:00
parent 335b36d3a9
commit ccd84fa454
2 changed files with 24 additions and 8 deletions

View File

@ -52,17 +52,23 @@ export default async function (data) {
}
value['environment'] = [...environment, ...envs];
let build = typeof value['build'] === 'undefined' ? {} : value['build'];
let build = typeof value['build'] === 'undefined' ? [] : value['build'];
if (typeof build === 'string') {
build = { context: build }
build = { context: build };
}
let buildArgs = typeof build['args'] === 'undefined' ? [] : value['args'];
const buildArgs = typeof build['args'] === 'undefined' ? [] : build['args'];
let finalArgs = [...buildEnvs];
if (Object.keys(buildArgs).length > 0) {
buildArgs = Object.entries(buildArgs).map(([key, value]) => `${key}=${value}`);
for (const arg of buildArgs) {
const [key, _] = arg.split('=');
if (finalArgs.filter((env) => env.startsWith(key)).length === 0) {
finalArgs.push(arg);
}
}
}
value['build'] = {
...build,
args: [...buildArgs, ...buildEnvs]
args: finalArgs
};
value['labels'] = labels;

View File

@ -55,12 +55,22 @@ export default async function (data) {
value['environment'] = [...environment, ...envs];
let build = typeof value['build'] === 'undefined' ? [] : value['build'];
if (Object.keys(build).length > 0) {
build = Object.entries(build).map(([key, value]) => `${key}=${value}`);
if (typeof build === 'string') {
build = { context: build };
}
const buildArgs = typeof build['args'] === 'undefined' ? [] : build['args'];
let finalArgs = [...buildEnvs];
if (Object.keys(buildArgs).length > 0) {
for (const arg of buildArgs) {
const [key, _] = arg.split('=');
if (finalArgs.filter((env) => env.startsWith(key)).length === 0) {
finalArgs.push(arg);
}
}
}
value['build'] = {
...build,
args: [...(build?.args || []), ...buildEnvs]
args: finalArgs
};
value['labels'] = labels;