29 lines
1.0 KiB
TypeScript
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);
|
|
}
|
|
|