Автоматический ввод пароля в 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);
  }
});

Я понимаю что метод топорный, но и задача пока стоит весьма простая - освободить руки от рутины. Так вот, после выполнения данной команды терминал запрашивает ввести логин один раз, а потом ввести пароль для каждого сайта - как можно автоматически определить что нужно ввести и ввести это в терминал чтобы он не требовал от меня никаких действий?

Надеюсь понятно объяснил.


Ответы (0 шт):