yogastic/environment/common/src/update.service.version.ts
2025-05-18 08:51:38 +02:00

29 lines
1.0 KiB
TypeScript

import yaml from 'js-yaml'
import fs from 'fs';
import dotenv from "dotenv"
dotenv.config()
if ( !process.env.TARGET_FILE
|| !process.env.TARGET_SERVICE
|| !process.env.TARGET_IMAGE ) {
console.log("environment variables: TARGET_FILE, TARGET_SERVICE, TARGET_IMAGE are required")
process.exit(1)
}
console.log("Working directory",process.cwd());
console.log("TARGET_FILE",process.env.TARGET_FILE);
console.log("TARGET_SERVICE",process.env.TARGET_SERVICE);
console.log("TARGET_IMAGE",process.env.TARGET_IMAGE);
try {
console.log("updating service version");
const composeFile: any = yaml.load(fs.readFileSync(process.env.TARGET_FILE as string, 'utf8'));
console.log("updating image");
composeFile.services[process.env.TARGET_SERVICE as string].image = process.env.TARGET_IMAGE;
const result = yaml.dump(composeFile);
fs.writeFileSync(process.env.TARGET_FILE as string, result)
console.log("image updated",process.env.TARGET_FILE,process.env.TARGET_SERVICE,process.env.TARGET_IMAGE);
} catch (e) {
console.log(e);
}