feat(docker): add detailed logging for buildx, build commands, local registry, and local dependency info
This commit is contained in:
@@ -132,12 +132,30 @@ export class TsDockerManager {
|
||||
}
|
||||
|
||||
// Check if buildx is needed
|
||||
if (options?.platform || (this.config.platforms && this.config.platforms.length > 1)) {
|
||||
const useBuildx = !!(options?.platform || (this.config.platforms && this.config.platforms.length > 1));
|
||||
if (useBuildx) {
|
||||
await this.ensureBuildx();
|
||||
}
|
||||
|
||||
logger.log('info', '');
|
||||
logger.log('info', '=== BUILD PHASE ===');
|
||||
|
||||
if (useBuildx) {
|
||||
const platforms = options?.platform || this.config.platforms!.join(', ');
|
||||
logger.log('info', `Build mode: buildx multi-platform [${platforms}]`);
|
||||
} else {
|
||||
logger.log('info', 'Build mode: standard docker build');
|
||||
}
|
||||
|
||||
const localDeps = toBuild.filter(df => df.localBaseImageDependent);
|
||||
if (localDeps.length > 0) {
|
||||
logger.log('info', `Local dependencies: ${localDeps.map(df => `${df.cleanTag} -> ${df.localBaseDockerfile?.cleanTag}`).join(', ')}`);
|
||||
}
|
||||
|
||||
if (options?.noCache) {
|
||||
logger.log('info', 'Cache: disabled (--no-cache)');
|
||||
}
|
||||
|
||||
logger.log('info', `Building ${toBuild.length} Dockerfile(s)...`);
|
||||
|
||||
if (options?.cached) {
|
||||
@@ -236,7 +254,8 @@ export class TsDockerManager {
|
||||
* Ensures Docker buildx is set up for multi-architecture builds
|
||||
*/
|
||||
private async ensureBuildx(): Promise<void> {
|
||||
logger.log('info', 'Setting up Docker buildx for multi-platform builds...');
|
||||
const platforms = this.config.platforms?.join(', ') || 'default';
|
||||
logger.log('info', `Setting up Docker buildx for multi-platform builds [${platforms}]...`);
|
||||
const inspectResult = await smartshellInstance.exec('docker buildx inspect tsdocker-builder 2>/dev/null');
|
||||
|
||||
if (inspectResult.exitCode !== 0) {
|
||||
@@ -258,7 +277,7 @@ export class TsDockerManager {
|
||||
await smartshellInstance.exec('docker buildx use tsdocker-builder');
|
||||
}
|
||||
}
|
||||
logger.log('ok', 'Docker buildx ready');
|
||||
logger.log('ok', `Docker buildx ready (platforms: ${platforms})`);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user