Автоматический ввод пароля в child_process для git
Всем привет! Я пытаюсь с помощью node.js и его child_process.exec сделать автоматические commit + push в BitBucket в приватные репозитории, есть список сайтов, которые нужно пройти по списку, сделать git add, git commit и git push. С первыми двумя проблем нет, а вот с пушами есть проблема - требуется вводить username и password для каждого сайта. Как это можно сделать автоматически? Я читал про stdout/stdin/exec/spawn - но пока не понял как их использовать? Сейчас есть довольно топорный код - я собираю одну большую строку из cd /home/site1 && git push && cd /home/site2 && git push и тд, а потом использую ее в exec
const { exec } = require("child_process");
const fs = require("fs");
const fileData = JSON.parse(fs.readFileSync("site.json", "utf-8"));
let gitStr = "cd /";
for (let item in fileData) {
gitStr = `${gitStr} && cd /home/${fileData[item]} && git push -u origin master`;
}
exec(gitStr, (error, stdout, stdin, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
if (stdout) {
console.log("stdout ", stdout);
}
if (stdin) {
console.log("Stdin", stdin);
}
});
Я понимаю что метод топорный, но и задача пока стоит весьма простая - освободить руки от рутины. Так вот, после выполнения данной команды терминал запрашивает ввести логин один раз, а потом ввести пароль для каждого сайта - как можно автоматически определить что нужно ввести и ввести это в терминал чтобы он не требовал от меня никаких действий?
Надеюсь понятно объяснил.