Как автоматически создавать резервные копии сборки в Visual Studio
Если вы - команда разработчиков, состоящая из одного человека, вам, вероятно, не нужна полноценная система контроля версий, но создание резервных копий исходного кода для каждой выпущенной версии, несомненно, важно.
Используя возможности событий после сборки и простой пакетный скрипт, вы можете легко добавить возможность автоматического создания Visual Studio резервной копии исходного кода для каждой сборки кода выпуска..
Как это устроено
Наше решение простое: всякий раз, когда происходит успешное событие сборки, у нас запускается пакетный скрипт, который создает сжатый архив (по выбору, с метками и метками времени) всех файлов в соответствующей папке проекта Visual Studio..
Вот и все. Все, что вам нужно сделать, это выполнить следующие шаги.
Настройка автоматического создания резервных копий
Сначала вам нужно скачать и извлечь файл пакетного скрипта по ссылке внизу статьи. Кроме того, вам понадобится инструмент командной строки 7-Zip (он включен в «полную» версию скрипта Project Build Backup или вы можете скачать его отдельно). В нашем примере мы извлекли эти файлы в каталог «C: \ Tools», но любое место будет работать.
Откройте свойства проекта Visual Studio, дважды щелкнув «Мой проект» под соответствующим проектом..
В свойствах проекта перейдите в раздел Compile.
В правом нижнем углу нажмите кнопку Build Events.
В нашем случае мы хотим сделать резервную копию после успешного компиляции. Убедитесь, что у вас есть возможность запустить событие после сборки «При успешной сборке», а затем нажмите кнопку «Редактировать после сборки».
Приведенная ниже команда создает резервную копию сборки только для компиляции конфигурации выпуска (это то, что проверяет условие IF), так как в действительности мы, вероятно, не хотим делать резервную копию каждой сборки отладки / тестирования. Кроме того, текущая временная метка будет добавлена (ключ / D) с файлом резервной копии в формате 7z (/ 7z), а не в zip. Добавляя / T «$ (ConfigurationName)» в качестве параметра, мы добавляем тип сборки (в данном случае Release) к имени файла резервной копии..
ЕСЛИ «$ (ConfigurationName)» == «Выпустить» ВЫЗОВ CALL \: Tools \ ProjectBuildBackup.bat «$ (SolutionDir)» «$ (ProjectDir)» «$ (ProjectName)» / T «$ (ConfigurationName)» / D / 7z
Используя кнопку «Макросы», вы можете предварительно заполнить Visual Studio конкретной информацией о проекте, поэтому не требуется никакого жесткого кодирования. Вы можете настроить эту команду по мере необходимости (особенно местоположение командного файла), но первые три параметра, скорее всего, менять не нужно.
Важно помнить, что операции после события выполняются независимо от выбранной конфигурации проекта. Вот почему нам нужно добавить оператор IF «$ (ConfigurationName)» == «Release» - в противном случае действие резервного копирования произойдет каждый успешное событие сборки.
Как только вы закончите свою команду и примените ее, командная строка должна появиться в разделе событий после сборки.
Обратите внимание, что хотя команда «CALL» технически не требуется, настоятельно рекомендуется, так как если она пропущена, то любые события, добавленные после этого, могут не выполняться.
Теперь, когда вы запускаете компиляцию / сборку с вашим проектом в конфигурации Release, вы увидите результат операции резервного копирования сборки..
[…]
Каждая успешная сборка выпуска создает новый архив с меткой времени с папкой решения в подкаталоге «Сборки» (который можно настраивать с помощью переключателя / O при необходимости)..
Содержимое каждой резервной копии представляет собой полный проект Visual Studio - исходные файлы, параметры конфигурации, скомпилированные двоичные файлы и все - что делает это точным моментом времени резервного копирования.
Не замена для полной системы контроля версий
В заключение, мы просто хотим повторить, что этот инструмент не предназначен для замены полноценной системы контроля версий. Это просто полезный инструмент для разработчиков, позволяющий создавать снимки исходного кода своего проекта после каждой компиляции.
В случае, если вам когда-нибудь придется вернуться и изучить предыдущую версию, вам может пригодиться готовый к использованию (просто извлечение в новый каталог) файл проекта для моментальной компиляции..
связи
Скачать скрипт создания резервной копии проекта
Загрузить инструмент командной строки 7-Zip (Примечание. Утилита 7za также поставляется вместе со скриптом Project Build Backup)