2008-08-18 16 views
9

Wprowadzam Subversion do naszego sklepu internetowego. Chcę, aby przesłane pliki były przesyłane do serwera za pośrednictwem FTP (i gdy są używane do Subversion, przez SFTP). Pliki są wysyłane na stronę kandydata na wersję do celów testowych. Można wywołać skrypt, aby przenieść pliki do produkcji.Subversion i tworzenie stron internetowych

Moje pytanie brzmi: jak przesłać pliki na serwer przez Subversion? Czy istnieje skrypt, który można dodać, który wykona transfer, gdy pliki zostaną odprawione?

Odpowiedz

3

Jeśli masz powłoki dostępu do swojego Sever i SVN zainstalowane na nim (lub możliwość zainstalowania SVN), to najlepiej może być tylko całkowicie ominąć FTP.

Jak wdrożyć naszych aplikacji jest (uproszczony)

  • Deweloperzy pisać kod i sprawdzić go w bagażniku
  • Okresowo, gdy bagażnik jest stabilny, weźmiemy migawkę to jako znak
  • na serwerze svn checkout tag

Jeśli potrzebujesz wszelkie zmiany, jakie należy wprowadzić na serwerze (lub bezpośrednio na samym serwerze Live) to jest trywialne używać Subversion do synchronizacji kodu

1

Myślę, że to, czego szukasz, to coś w rodzaju integracji z automatycznym skryptem kompilacji. Użyłem CruiseControl do wykonania podobnej czynności z aplikacją ASP.Net. Nie znam twoich dokładnych wymagań, ale założę się, że możesz zrobić to, co chcesz.

1

Skrypty po zatwierdzeniu są przydatne do tego. Zasadniczo przy każdym zatwierdzeniu wywoływany jest skrypt po zdarzeniu, którego można użyć do wykonania eksportu svn do dowolnego miejsca.

Ciekawym article pokazuje, jak może to być zrobione, a this pokazuje jak skrypty hak może być używany z wywrotową

1

Prawdopodobnie można użyć „haków” SVN, aby to zrobić. Zasadniczo możesz skonfigurować swój serwer tak, aby uruchamiał skrypty przed każdym sprawdzeniem lub po nim. Oto bezpośredni link do odpowiedniej sekcji online book.

3

Chcesz zbudować skrypt, który używa haka po commit w SubVersion. Możesz albo eksportować skrypt z twojego repozytorium, a potem FTP do serwera, albo możesz po prostu wejść ze swojego repozytorium do katalogu roboczego na twoim serwerze i wywołać "svn update" w katalogu roboczym serwerów w twoim skrypcie przechwytującym po zatwierdzeniu .

There's more information in the Subversion FAQ

0

I drugi pomysł Oriona. Jeśli masz dostęp do powłoki na serwerze, w rzeczywistości bardzo łatwo jest użyć Subversion jako narzędzia do wdrażania. Po prostu upewnij się, że masz ustawione pewne zasady serwera sieciowego, aby nie przypadkowo ujawnić katalogów .svn.

2

Myślę, że powinieneś raczej używać eksportu svn zamiast svn checkout dla wdrożeń, więc nie masz tych katalogów .svn mrużących twoje produkcyjne zadania tworzenia kopii zapasowych. Eksport svn to "czyste" kasy.

Chciałbym również utworzyć skrypt, który obsłuży to wszystko za Ciebie. W zależności od tego, jak zbudowany jest twój kod, możesz często zmieniać katalogi i aktualizować dowiązanie symboliczne do najnowszej wersji, co ułatwia wycofywanie zmian.

Można nawet użyć czegoś takiego, jak Capistrano, aby zautomatyzować wdrożenia. Jednak zalecam CruiseControl.

0

svn2web będzie pliki ftp lub scp z repozytorium subversion do serwera WWW przy każdym zatwierdzeniu. Szczegółowe informacje znajdują się w projekcie SourceForge.

Powiązane problemy