Ich versuche, dass mein persönlicher Server meine primäre Git-Fernbedienung ist und diese automatisch in GitHub spiegelt. Ich fand diesen Artikel , der meistens mit einem% co_de funktioniert % Skript, das post-receive
(im Wesentlichen).
Mein Ansatz unterscheidet sich insofern, als ich es vermeiden möchte, einen Bereitstellungsschlüssel zu erstellen und zu sichern und ihn dann für jedes Repository zu konfigurieren.
Mein post-receive-Skript funktioniert mit den meisten der unten stehenden Varianten wie in den Kommentaren angegeben, außer wenn ich die volle nohup + stdio-Umleitung und den Hintergrund wie im obigen Artikel schreibe, funktioniert die Authentifizierung nicht mehr.
%Vor%Ich habe eine SSH-Agent-Weiterleitung, von der ich glaube, dass sie funktioniert. Also meine Frage ist, warum diese letzten 2 Variationen mit Authentifizierungsfehlern fehlschlagen?
Vielleicht können Sie versuchen, das ausführliche Flag auf ssh zu setzen, um herauszufinden, was falsch läuft.
Sie können die Umgebungsvariable GIT_SSH
verwenden, um den Befehl zu ersetzen, den git zum Öffnen der SSH-Verbindung verwendet. Von der Manpage:
Also ein Skript in /tmp/verb-ssh
, das wie folgt aussieht:
und dann sollte die Umgebungsvariable GIT_SSH=/tmp/verb-ssh
einige nützliche Debuginformationen bereitstellen.