Я создаю zip-файл, имя которого будет основано на значении GIT repo ha sh и дате / времени. До сих пор мне удавалось успешно создать zip-файл, но присвоение имени zip-файлу на основе переменной, похоже, не работает, поскольку child_process.execFile, похоже, использует только строковый литерал для имени. Смотрите ниже:
const child_process = require('child_process').execFile;
const repoHash = (`git -C ./repository/myRepository show-ref --hash refs/heads/master`);
const timestamp = Date.now() - 14400000;
const date = new Date(timestamp);
const iso = date.toISOString().match(/(\d{4}\-\d{2}\-\d{2})T(\d{2}:\d{2}:\d{2})/);
const revision = child_process(repoHash).toString().trim();
const myTStamp = '_' + iso[1] + '_' + iso[2] + ".zip";
//Below zipName Resolves to "05baf31c20d15edb2c477fa4e7bd2427504d3dba_2020-04-09_13:27:26.zip"
const zipName = revision+myTStamp;
const sourceDir = "./repository/myRepository";
//Works using a string literal and specifying name "./newZip.zip"
const newFile = () => {
child_process('zip', ['-r', "./newZip.zip", sourceDir], function (err) {
console.log(err);
});
};
newFile();
//Does Not Work using "zipName" variable
const newFile = () => {
child_process('zip', ['-r', zipName, sourceDir], function (err) {
console.log(err);
});
};
newFile();
Буду признателен за любые идеи о том, как я могу получить этот zip-файл с соответствующим названием.