This commit is contained in:
@@ -300,6 +300,25 @@ export class BuildRunnerService implements OnModuleInit, OnModuleDestroy {
|
||||
const contextPath = this.configService.get<string>('BUILD_CONTEXT_PATH', '.');
|
||||
const contextDir = path.resolve(workDir, contextPath);
|
||||
const pushEnabled = this.configService.get<string>('BUILD_PUSH_ENABLED', 'true') !== 'false';
|
||||
const viteBuildVariables = job.component.buildVariables
|
||||
.filter((variable) => !variable.isSecret && variable.key.trim().startsWith('VITE_'));
|
||||
const buildArgs = job.component.buildVariables
|
||||
.filter((variable) => !variable.isSecret && variable.key.trim())
|
||||
.filter((variable) => !variable.key.trim().startsWith('VITE_'))
|
||||
.flatMap((variable) => ['--build-arg', `${variable.key}=${variable.value}`]);
|
||||
|
||||
if (viteBuildVariables.length > 0) {
|
||||
await fs.writeFile(
|
||||
path.join(contextDir, '.env.production.local'),
|
||||
`${viteBuildVariables.map((variable) => `${variable.key}=${JSON.stringify(variable.value)}`).join('\n')}\n`,
|
||||
'utf8',
|
||||
);
|
||||
await append(`[image] Vite build env ${viteBuildVariables.map((variable) => variable.key).join(', ')}`);
|
||||
}
|
||||
|
||||
if (buildArgs.length > 0) {
|
||||
await append(`[image] build args ${job.component.buildVariables.filter((variable) => !variable.isSecret && variable.key.trim() && !variable.key.trim().startsWith('VITE_')).map((variable) => variable.key).join(', ')}`);
|
||||
}
|
||||
|
||||
if (image !== job.image) {
|
||||
await this.prisma.buildJob.update({
|
||||
@@ -316,7 +335,7 @@ export class BuildRunnerService implements OnModuleInit, OnModuleDestroy {
|
||||
await runCommand({
|
||||
jobId: job.id,
|
||||
command: this.configService.get<string>('NERDCTL_BIN', 'nerdctl'),
|
||||
args: [...prefix, 'build', '-t', image, '-f', dockerfile, '.'],
|
||||
args: [...prefix, 'build', ...buildArgs, '-t', image, '-f', dockerfile, '.'],
|
||||
cwd: contextDir,
|
||||
append,
|
||||
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
||||
@@ -340,7 +359,7 @@ export class BuildRunnerService implements OnModuleInit, OnModuleDestroy {
|
||||
await runCommand({
|
||||
jobId: job.id,
|
||||
command: this.configService.get<string>('DOCKER_BIN', 'docker'),
|
||||
args: ['build', '-t', image, '-f', dockerfile, '.'],
|
||||
args: ['build', ...buildArgs, '-t', image, '-f', dockerfile, '.'],
|
||||
cwd: contextDir,
|
||||
append,
|
||||
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
||||
|
||||
Reference in New Issue
Block a user