If-Koubou

Jak automatycznie tworzyć kopie zapasowe Build w Visual Studio

Jak automatycznie tworzyć kopie zapasowe Build w Visual Studio (Jak)

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 wydarzeń w trybie "post-build" i prosty skrypt wsadowy, możesz łatwo dodać funkcję Visual Studio, która automatycznie tworzy kopię kodu źródłowego dla każdej wersji kodu wydania.

Jak to działa

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

to jest to! 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 Visual Studio Project, 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 Buduj wydarzenia.

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, czego 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.

Ważne jest, aby 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 kopii zapasowej wystąpiłaby na każdy udane wydarzenie budowania.

Po zakończeniu polecenia i zastosowaniu go łańcuch poleceń powinien pojawić się w sekcji wydarzeń po instalacji.

Zauważ, ż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 wszystko - co sprawia, że ​​jest to prawdziwa kopia zapasowa w czasie rzeczywistym.

Nie zastępuje pełnego systemu kontroli wersji

Na zakończenie chcemy tylko powtórzyć, że to narzędzie nie ma zastąpić 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 (tylko wyodrębnij do nowego katalogu) pliku projektu dla kompilacji punktualnej może się bardzo przydać.

Spinki do mankietów

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)