Як автоматично створювати резервні копії в Visual Studio
Якщо ви - команда розробників з однією людиною, ви, мабуть, не маєте потреби в повномасштабній системі контролю версій, але створення резервних копій вихідного коду для кожної випущеної версії безсумнівно важливо.
Використовуючи потужність подій після побудови та простого пакетного сценарію, можна легко додати можливість мати Visual Studio автоматично створювати резервну копію вихідного коду для кожного коду випуску.
Як це працює
Наше рішення просте: коли відбувається успішна подія збірки, ми маємо запуск пакетного скрипта, який створює стислий архів (за бажанням і мітку часу) всіх файлів у відповідній папці проекту Visual Studio.
Це воно. Все, що вам потрібно зробити, це виконати наведені нижче дії.
Налаштування автоматичного створення резервних копій
Спочатку вам потрібно буде завантажити та витягти файл пакетного сценарію з посиланням внизу статті. Крім того, вам знадобиться інструмент командного рядка 7-Zip (він включений у "повну" версію сценарію Project Build Backup, або ви можете завантажити його окремо). У нашому прикладі ми витягли ці файли до каталогу "C: Tools", але будь-яке місце буде працювати.
Відкрийте властивості проекту Visual Studio Project, двічі клацнувши на My Project у відповідному проекті.
У властивостях проекту перейдіть до розділу Компіляція.
У нижньому правому куті натисніть кнопку Створити події.
У нашому випадку ми хочемо зробити резервну копію після успішної компіляції. Переконайтеся, що у вас є можливість запустити подію після завершення "Після успішного збирання", а потім натисніть кнопку "Редагувати після збирання".
Наведена нижче команда створює резервну копію тільки для компіляції конфігурації Release (це те, що перевіряє стан), оскільки, реально, ми, ймовірно, не хочемо робити резервну копію кожного Debug / testing build. Окрім того, поточна мітка часу буде додана (/ D-перемикач), файл резервної копії буде мати формат 7z (/ 7z), а не zip. Додавши / T “$ (ConfigurationName)” як параметр, ми додаємо тип збирання (випуск у цьому випадку) до імені файлу резервної копії..
IF “$ (ConfigurationName)” == “Release” CALL C: Інструменти ProjectBuildBackup.bat “$ (SolutionDir)” “$ (ProjectDir)” “$ (ProjectName)” / T “$ (ConfigurationName)” / D / 7z
Використовуючи кнопку "Макроси", ви можете мати спеціальну інформацію про проект попередньої заливки Visual Studio, щоб не було потрібне кодування. Цю команду можна налаштувати за потреби (особливо розташування пакетного файлу), але перші три параметри, ймовірно, не потрібно змінювати.
Важливо мати на увазі, що операції після події виконуються незалежно від обраної конфігурації проекту. Ось чому нам потрібно додати оператор IF "$ (ConfigurationName)" == "Release" - інакше буде виконано резервну дію кожен успішної події збирання.
Після того, як ви закінчите команду і застосуєте її, командний рядок повинен з'явитися в розділі Пост-збірка подій.
Зауважте, що хоча команда "CALL" не є технічно необхідною, вона рекомендується, так як якщо вона опущена, то будь-які події, додані після цього, можуть не виконуватися.
Тепер, коли ви запускаєте компіляцію / збірка з вашим проектом у конфігурації випуску, ви побачите вихід з операції створення резервної копії.
[…]
Кожна успішна версія випуску створює новий тимчасовий архів з папкою рішення в підкаталозі, "Builds" (який може бути спеціально визначений за допомогою перемикача / O, якщо потрібно).
Зміст кожної резервної копії - це повний проект Visual Studio - вихідні файли, налаштування конфігурації, скомпільовані двійкові файли, і все - що робить це справжньою точкою резервного копіювання часу.
Не є заміною для повної системи контролю версій
На закінчення, ми просто хочемо повторити, що цей інструмент не призначений для заміни повномасштабної системи контролю версій. Це просто корисний інструмент для розробників для створення знімків вихідного коду свого проекту після кожної компіляції.
У випадку, якщо ви коли-небудь доведеться повернутися і вивчити попередню версію, наявність готового до використання (просто витягування до нового каталогу) файлу проекту для того, щоб компіляція за часом могла дійсно стати в нагоді.
Посилання
Завантажити сценарій створення резервної копії проекту
Завантажити інструмент командного рядка 7-Zip (Примітка - утиліта 7za також постачається з завантаженням з сценарію Project Build Backup)