feat(cli): add global remote builder configuration and native SSH buildx nodes for multi-platform builds

This commit is contained in:
2026-03-15 20:15:12 +00:00
parent 732e9e5cac
commit 3e0eb5e198
11 changed files with 2904 additions and 3099 deletions

View File

@@ -266,12 +266,15 @@ export class Dockerfile {
public static async buildDockerfiles(
sortedArrayArg: Dockerfile[],
session: TsDockerSession,
options?: { platform?: string; timeout?: number; noCache?: boolean; verbose?: boolean; isRootless?: boolean; parallel?: boolean; parallelConcurrency?: number },
options?: { platform?: string; timeout?: number; noCache?: boolean; verbose?: boolean; isRootless?: boolean; parallel?: boolean; parallelConcurrency?: number; onRegistryStarted?: () => Promise<void>; onBeforeRegistryStop?: () => Promise<void> },
): Promise<Dockerfile[]> {
const total = sortedArrayArg.length;
const overallStart = Date.now();
await Dockerfile.startLocalRegistry(session, options?.isRootless);
if (options?.onRegistryStarted) {
await options.onRegistryStarted();
}
try {
if (options?.parallel) {
@@ -351,6 +354,9 @@ export class Dockerfile {
}
}
} finally {
if (options?.onBeforeRegistryStop) {
await options.onBeforeRegistryStop();
}
await Dockerfile.stopLocalRegistry(session);
}