25Aug

Jak automatycznie tworzyć kopie zapasowe Build w Visual Studio

Jeśli jesteś jednoosobowym zespołem programistycznym, prawdopodobnie nie potrzebujesz pełnego systemu kontroli wersji, ale tworzenie kopii zapasowych kodu źródłowego dla każdej wydanej wersji jest bez wątpienia ważne.

Wykorzystując moc zdarzeń po instalacji i prosty skrypt wsadowy, można łatwo dodać możliwość, aby program Visual Studio automatycznie tworzył kopię kodu źródłowego dla każdej wersji kodu wydania.

Jak to działa?

Nasze rozwiązanie jest proste: zawsze, gdy zdarzy się udane zdarzenie kompilacji, uruchamiany jest skrypt skryptu wsadowego, który tworzy skompresowane archiwum( opcjonalnie oznaczone i sygnowane czasowo) wszystkich plików w odpowiednim folderze projektu Visual Studio.

To wszystko. Wszystko, co musisz zrobić, to wykonać poniższe czynności.

Konfigurowanie automatycznych kopii zapasowych kompilacji

Najpierw musisz pobrać i wyodrębnić plik skryptu wsadowego z linku na dole artykułu. Dodatkowo będziesz potrzebował narzędzia wiersza poleceń 7-Zip( jest ono dołączone do "pełnej" wersji skryptu budowania kopii zapasowej projektu lub możesz go pobrać osobno).W naszym przykładzie wyodrębniliśmy te pliki do katalogu "C: \ Tools", ale każda lokalizacja będzie działać.

Otwórz właściwości projektu Visual Studio, klikając dwukrotnie Mój projekt w odpowiednim projekcie.

We właściwościach projektu przejdź do sekcji Kompilacja.

W prawym dolnym rogu kliknij przycisk Utwórz zdarzenia.

W naszym przypadku chcemy wykonać kopię zapasową po udanej akcji kompilacji. Upewnij się, że masz opcję uruchomienia zdarzenia "Kompiluj po pomyślnej kompilacji", a następnie kliknij przycisk Edytuj "Post-build".

Poniższe polecenie tworzy kopię zapasową kompilacji tylko dla kompilacji konfiguracji Release( to jest to, co sprawdza warunek IF), ponieważ, realistycznie, prawdopodobnie nie chcemy tworzyć kopii zapasowej każdej wersji Debug / testowania. Dodatkowo, bieżący znacznik czasu zostanie dołączony( przełącznik / D), a plik kopii zapasowej będzie w formacie pliku 7z( / 7z) w przeciwieństwie do zip. Dodając parametr / T "$( ConfigurationName)" jako parametr, dodajemy nazwę typu pliku( w tym przypadku Release) do nazwy pliku kopii zapasowej.

IF "$( ConfigurationName)" == "Release" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( ProjectName)" / T "$( ConfigurationName)" / D/ 7z

Za pomocą przycisku Makra można uzyskać informacje o projekcie wstępnym projektu Visual Studio, więc nie jest wymagane żadne kodowanie twarde. W razie potrzeby możesz dostosować to polecenie( szczególnie położenie pliku wsadowego), ale pierwsze trzy parametry prawdopodobnie nie będą wymagały zmiany.

Należy pamiętać, że operacje po zdarzeniu działają niezależnie od wybranej konfiguracji projektu. Dlatego musimy dodać instrukcję IF "$( ConfigurationName)" == "Release" - w przeciwnym razie akcja tworzenia kopii zapasowej wystąpiłaby na przy każdym pomyślnym zdarzeniu kompilacji .

Po zakończeniu komendy i zastosowaniu jej, łańcuch poleceń powinien pojawić się w sekcji "Post-build events".

Zwróć uwagę, że chociaż polecenie "CALL" nie jest technicznie wymagane, jest wysoce zalecane, tak jakby to zostało pominięte, wtedy wszelkie dodane zdarzenia mogą nie zostać wykonane.

Teraz, gdy uruchomisz kompilację / kompilację z projektem w konfiguracji Release, zobaczysz dane wyjściowe z operacji tworzenia kopii zapasowej.

[...]

Każda pomyślna kompilacja wydania tworzy nowe archiwum z sygnaturą czasową z folderem rozwiązania w podkatalogu "Budowanie"( który można w razie potrzeby zdefiniować niestandardowo za pomocą przełącznika / O).

Zawartość każdej kopii zapasowej to pełny projekt Visual Studio - pliki źródłowe, ustawienia konfiguracyjne, skompilowane pliki binarne i wszystkie - co sprawia, że ​​jest to prawdziwa kopia zapasowa w czasie.

Nie zastępuje pełnego systemu kontroli wersji

Podsumowując, chcemy tylko powtórzyć, że to narzędzie nie jest przeznaczone do zastąpienia pełnego systemu kontroli wersji. Jest to po prostu użyteczne narzędzie dla programistów do tworzenia migawek kodu źródłowego ich projektu po każdej kompilacji.

Jeśli kiedykolwiek będziesz musiał wrócić i sprawdzić wcześniejszą wersję, posiadanie gotowego do użycia( po prostu wyodrębnij do nowego katalogu) pliku projektu dla kompilacji punktualnej może się bardzo przydać.

Links

Pobierz Project Build Backup Script

Pobierz 7-Zip Command Line Tool( Uwaga - narzędzie 7za jest również dołączane do pobrania ze skryptu Project Build Backup)