Próbuję zrobić "wdrożyć: zimny" dla mojej aplikacji. Repozytorium git jest lokalne dla mojego serwera wdrażania (tj. Mam tylko jeden serwer dla wszystkiego i I nie host mój kod na github).Capistrano + Git: lokalny repozytorium do serwera produkcyjnego
Oto zapis (zastąpiony moją nazwę aplikacji z "myapp" dla prywatności)
* executing `deploy:cold'
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
executing locally: "git ls-remote /home/mrichman/git/myapp.git master"
fatal: '/home/mrichman/git/myapp.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/myapp.com/releases/20100218203108; true"
servers: ["myapp.com"]
Password:
[myapp.com] executing command
command finished
Command git ls-remote /home/mrichman/git/myapp.git master returned status code 32768
Oto moja deploy.rb: http://pastie.org/831424
Próbowałem również
set :repository, "[email protected]:/home/mrichman/git/myapp.git"
ale to daje mi
ssh: connect to host localhost port 22: Connection refused
Wszelkie pomysły są mile widziane.
Mam teraz następujące dane, które również nie: zestawie: repozytorium, "file: ///var/git/myapp.git" zestaw: local_repository "localhost: /var/git/myapp.git" wykonywanie lokalnie: "git ls-remote localhost: /var/git/hireexchange.git master" ssh: połącz się z hostem localhost port 22: Połączenie odmówiono –
Czy rozwijasz się w tym samym oknie? Jeśli jesteś, wyobrażam sobie: local_repository, "file: //var/git/myapp.git" będzie działać. localhost powinien zostać zastąpiony przez nazwę hosta, z którą łączysz się ze swojej zdalnej stacji roboczej. Również odkryłem, że jeśli masz submoduły, napotkasz więcej problemów podczas wdraania w taki sposób, ponieważ moduły są ustawione tak, aby wskazywały na zdalny adres URL. Bardzo denerwujące, ale można je rozwiązać za pomocą .ssh/config na serwerze pod użytkownikiem, który wdrożysz jako. – pmarsh
Cześć chłopaki. Jeśli to robi różnicę, git na mojej lokalnej i zdalnej maszynie wymaga różnych ścieżek, dlatego potrzebowałem zestawu: git_local/path/to/remote/git i set: git/usr/bin/git (zauważ, że te nie wymagają ssh w początek). – btelles