Как автоматически создавать резервные копии сборки в Visual Studio

Если вы – команда разработчиков из одного человека, вам, вероятно, не нужна полноценная система контроля версий, но создание резервных копий исходного кода для каждой выпущенной версии, несомненно, важно.

Используя мощь событий после сборки и простой пакетный скрипт, вы можете легко добавить возможность автоматического создания Visual Studio резервной копии исходного кода для каждой сборки кода выпуска.

Как это устроено

Наше решение простое: всякий раз, когда происходит успешное событие сборки, у нас запускается пакетный скрипт, который создает сжатый архив (по выбору, с метками и метками времени) всех файлов в соответствующей папке проекта Visual Studio.

Это оно. Все, что вам нужно сделать, это выполнить следующие шаги.

Настройка автоматического создания резервных копий

Сначала вам нужно скачать и извлечь файл пакетного скрипта по ссылке внизу статьи. Кроме того, вам понадобится инструмент командной строки 7-Zip (он включен в «полную» версию сценария резервного копирования сборки проекта или вы можете загрузить его отдельно). В нашем примере мы извлекли эти файлы в каталог «C: \ Tools», но любая папка будет работать.

Откройте свойства проекта Visual Studio, дважды щелкнув «Мой проект» под соответствующим проектом.

В свойствах проекта перейдите в раздел «Компиляция».

В правом нижнем углу нажмите кнопку Build Events.

В нашем случае мы хотим сделать резервную копию после успешной операции компиляции. Убедитесь, что у вас есть возможность запустить событие после сборки «При успешной сборке», а затем нажмите кнопку «Редактировать после сборки».

Приведенная ниже команда создает резервную копию сборки только для компиляции конфигурации выпуска (это то, что проверяет условие IF), так как в действительности мы, вероятно, не хотим делать резервную копию каждой сборки отладки/тестирования. Кроме того, текущая временная метка будет добавлена ​​(ключ/D) с файлом резервной копии в формате 7z (/ 7z), а не в zip. Добавляя/T «$ (ConfigurationName)» в качестве параметра, мы добавляем тип сборки (в данном случае Release) к имени файла резервной копии.

ЕСЛИ «$ (ConfigurationName)» == «Release» ВЫЗОВ CALL \: Tools \ ProjectBuildBackup.bat «$ (SolutionDir)» «$ (ProjectDir)» «$ (ProjectName)»/T «$ (ConfigurationName)»/D/7z

Используя кнопку «Макросы», вы можете предварительно заполнить Visual Studio конкретной информацией о проекте, поэтому не требуется никакого жесткого кодирования. Вы можете настроить эту команду по мере необходимости (особенно расположение командного файла), но первые три параметра, скорее всего, менять не нужно.

Важно помнить, что операции после события выполняются независимо от выбранной конфигурации проекта. Вот почему нам нужно добавить оператор IF «$ (ConfigurationName)» == «Release» – иначе действие резервного копирования будет выполняться при каждом событии успешной сборки.

Как только вы закончите свою команду и примените ее, командная строка должна появиться в разделе событий после сборки.

Обратите внимание, что хотя команда «CALL» технически не требуется, настоятельно рекомендуется, так как если она пропущена, любые события, добавленные после этого, могут не выполняться.

Теперь, когда вы запускаете компиляцию/сборку с вашим проектом в конфигурации Release, вы увидите результат операции резервного копирования сборки.

[…]

Каждая успешная сборка выпуска создает новый архив с меткой времени с папкой решения в подкаталоге «Сборки» (который может быть настроен с помощью переключателя/O при необходимости).

Содержимое каждой резервной копии представляет собой полный проект Visual Studio – исходные файлы, параметры конфигурации, скомпилированные двоичные файлы и все – что делает эту резервную копию точной во времени.

Не замена для полной системы контроля версий

В заключение, мы просто хотим повторить, что этот инструмент не предназначен для замены полноценной системы контроля версий. Это просто полезный инструмент для разработчиков, позволяющий создавать снимки исходного кода своего проекта после каждой компиляции.

Если вам когда-нибудь придется вернуться и изучить предыдущую версию, вам может пригодиться готовый к использованию (просто извлечение в новый каталог) файл проекта для моментальной компиляции.

связи

Скачать проект Build Backup Script

Загрузить инструмент командной строки 7-Zip (Примечание. Утилита 7za также поставляется вместе со скриптом Project Build Backup)

Оцените статью
TutoryBird.Ru
Добавить комментарий