feat(deploy): 接入全自动生产发布校验

This commit is contained in:
Script Generator
2026-07-06 14:45:44 +08:00
parent 8d61bb7c13
commit dc780e4c7d
24 changed files with 662 additions and 3 deletions

View File

@@ -0,0 +1,36 @@
type RuntimeEnv = {
NEXT_PUBLIC_APP_VERSION?: string;
NEXT_PUBLIC_APP_BUILD_TIME?: string;
};
export interface ClientRuntimeVersion {
service: 'web';
version: string;
buildTime: string;
}
export interface ServerRuntimeVersion {
service: 'server';
version: string;
buildTime: string;
imageTag: string;
}
export function getClientRuntimeVersion(
env: RuntimeEnv = {
NEXT_PUBLIC_APP_VERSION: process.env.NEXT_PUBLIC_APP_VERSION,
NEXT_PUBLIC_APP_BUILD_TIME: process.env.NEXT_PUBLIC_APP_BUILD_TIME,
},
): ClientRuntimeVersion {
return {
service: 'web',
version: env.NEXT_PUBLIC_APP_VERSION || 'unknown',
buildTime: env.NEXT_PUBLIC_APP_BUILD_TIME || '',
};
}
export function shouldPromptForNewRuntimeVersion(clientVersion: string, serverVersion: string): boolean {
if (!clientVersion || !serverVersion) return false;
if (clientVersion === 'unknown' || serverVersion === 'unknown') return false;
return clientVersion !== serverVersion;
}