javascript - Hur man autentiserar med SSH eller HTTPS med exec
Jag arbetar på ett projekt med JavaScript för att skapa en applikation som kan utföra git-kommandon som clone, pull, push.
Jag använder ett bibliotek som heter simple git (https://github.com/steveukx/git-js) som låter mig göra detta med exec.
Exempel på git clone-kommando:
const USER = 'something';
const PASS = 'somewhere';
const REPO = 'github.com/username/private-repo';
const git = require('simple-git/promise');
const remote = `https://${USER}:${PASS}@${REPO}`;
git().silent(true)
.clone(remote)
.then(() => console.log('finished'))
.catch((err) => console.error('failed: ', err));
För att till exempel köra pull-kommandot fungerar det perfekt med HTTPS bara genom att lägga till användarnamn och lösenord i URL:en:
const remote = `https://${username}:${password}@${REPO}`;
Men nu vet jag inte hur man autentiserar med SSH.
Finns det ett sätt att autentisera med HTTPS eller SSH med exec (child-bibliotek, process.spawn).
Vi skulle också kunna använda autentiseringsuppgifter från git men problemet är att jag behöver skriva lösenordet efter pull-kommandot till exempel men jag kan inte använda exec.
Tack på förhand för dina svar.
Svar #1
Jag kunde lösa detta genom att följa vägledningen i detta GitHub-ärende: https://github.com/steveukx/git-js/issues/710
Du bör kunna uppnå samma sak förutsatt att ditt nyckelpar är korrekt inställt som nämnts av andra i kommentarerna.
const remote = `[email :<yourworkspace>/${repo.name}.git`;
