Ich entwickle eine Anwendung, die sich auf einem öffentlichen Host befindet, deren Quelle ich jedoch in einem Git-Repository hinter einer Unternehmens-Firewall aufbewahren muss. Ich bekomme sehr müde von der Langsamkeit der Bereitstellung über scp
(Kopieren des gesamten Repository und Versand über SSH auf jeder Bereitstellung) und möchten, dass der Remote-Host einfach eine git pull
zu aktualisieren. Das Problem besteht darin, dass die Firewall eingehende SSH-Verbindungen verhindert.Ist es möglich, dass Capistrano einen Checkout über einen umgekehrten SSH-Tunnel durchführt?
Wäre es für mich möglich, einen SSH-Tunnel von meinem Computer zum Deployment-Computer einzurichten und mein Repository als Quelle für die git pull
zu verwenden? Immerhin ist git
verteilt, so dass meine Kopie genauso ein Repository ist wie die zentrale. Wenn das möglich ist, was wäre der Tunnelbefehl und die Capistrano-Konfiguration?
Ich denke, der Tunnel so etwas wie
ssh -R something:deployserver.com:something [email protected]