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 contextPath = this.configService.get<string>('BUILD_CONTEXT_PATH', '.');
|
||||||
const contextDir = path.resolve(workDir, contextPath);
|
const contextDir = path.resolve(workDir, contextPath);
|
||||||
const pushEnabled = this.configService.get<string>('BUILD_PUSH_ENABLED', 'true') !== 'false';
|
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) {
|
if (image !== job.image) {
|
||||||
await this.prisma.buildJob.update({
|
await this.prisma.buildJob.update({
|
||||||
@@ -316,7 +335,7 @@ export class BuildRunnerService implements OnModuleInit, OnModuleDestroy {
|
|||||||
await runCommand({
|
await runCommand({
|
||||||
jobId: job.id,
|
jobId: job.id,
|
||||||
command: this.configService.get<string>('NERDCTL_BIN', 'nerdctl'),
|
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,
|
cwd: contextDir,
|
||||||
append,
|
append,
|
||||||
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
||||||
@@ -340,7 +359,7 @@ export class BuildRunnerService implements OnModuleInit, OnModuleDestroy {
|
|||||||
await runCommand({
|
await runCommand({
|
||||||
jobId: job.id,
|
jobId: job.id,
|
||||||
command: this.configService.get<string>('DOCKER_BIN', 'docker'),
|
command: this.configService.get<string>('DOCKER_BIN', 'docker'),
|
||||||
args: ['build', '-t', image, '-f', dockerfile, '.'],
|
args: ['build', ...buildArgs, '-t', image, '-f', dockerfile, '.'],
|
||||||
cwd: contextDir,
|
cwd: contextDir,
|
||||||
append,
|
append,
|
||||||
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
onProcess: (child) => this.activeProcesses.set(job.id, child),
|
||||||
|
|||||||
Reference in New Issue
Block a user