Я пишу небольшое приложение в nodejs.
Это приложение должно выполняться как служба Windows (поэтому я не могу использовать электрон или другие, потому что оно должно быть активным, даже еслипользователь не вошел в систему), и поэтому я подумал использовать PM2 .Он запускается и работает нормально, но теперь моя проблема - обновления моего NodeJS приложения.
Мое приложение будет выпущено на многих ПК, и я не хочу обновлять его одно за другим..
Да, у меня есть репозиторий, в котором я могу читать, и поэтому я могу создать в своем приложении функцию, в которой с установленным интервалом я иду в репо и тяну.
Пока я создал, в packages.json моего приложения NodeJs команда сценариев, например:
git pull //myrepourl.git origin
И в моем index.js функция наподобие
function updateApp(){
return new Promise((resolve,reject)=>{
exec('cd app_path && npm run prod_update', (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
reject();
}
resolve();
});
})
}
setInterval( ()=>{
updateApp();
console.log("------ Updated ---------")
},60*60*1000);
Но этот способ меня не убеждает, потому что на самом деле мой репозиторий является приватным, а затем я должен выставить свой git с учетными данными в приложении, без учетапроблема node_modules.
Так есть ли другой способ обновить приложение Nodejs , запущенное с PM2 как Service в Windows?