Główna » jak » Jak automatycznie tworzyć kopie zapasowe Build w Visual Studio

    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 wydarzeń po instalacji i prosty skrypt wsadowy, możesz łatwo dodać możliwość automatycznego tworzenia kopii zapasowej kodu źródłowego dla każdej wersji kodu wersji.

    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ć oddzielnie). 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 Buduj wydarzenia.

    W naszym przypadku chcemy wykonać kopię zapasową po udanej akcji kompilacji. Upewnij się, że masz możliwość uruchomienia zdarzenia "Kompiluj po pomyślnej kompilacji", a następnie kliknij przycisk "Po zainstalowaniu".

    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 zostanie dodany bieżący znacznik czasu (przełącznik / D) z plikiem kopii zapasowej w formacie 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 projektach wstępnych projektu Visual Studio, więc nie jest wymagane żadne kodowanie twarde. W razie potrzeby możesz dostosować to polecenie (zwłaszcza 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 kopii zapasowej wystąpiłaby na każdy udane wydarzenie budowania.

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

    Zauważ, że chociaż polecenie "CALL" nie jest technicznie wymagane, jest wysoce zalecane, tak jakby to zostało pominięte, wtedy żadne zdarzenia dodane po tym 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.

    Nie zastępuje pełnego systemu kontroli wersji

    Kończąc, 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 swojego projektu po każdej kompilacji.

    Jeśli kiedykolwiek będziesz musiał wrócić i sprawdzić poprzednią wersję, mając gotowy do użycia (tylko wyodrębnij do nowego katalogu) plik projektu dla kompilacji punktualnej, może się 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)