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

Оглавление:

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

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

Видео: Как автоматически создавать резервные копии в Visual Studio
Видео: Уверен, что понимаешь как #хэшировать пароли правильно? - YouTube 2024, Май
Anonim
Если вы - команда разработчиков одного человека, вам, вероятно, не нужна полная система управления версиями, но создание резервных копий исходного кода для каждой выпущенной версии, несомненно, важно.
Если вы - команда разработчиков одного человека, вам, вероятно, не нужна полная система управления версиями, но создание резервных копий исходного кода для каждой выпущенной версии, несомненно, важно.

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

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

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

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

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

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

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

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

IF “$(ConfigurationName)” == “Release” CALL C:ToolsProjectBuildBackup.bat “$(SolutionDir)” “$(ProjectDir)” “$(ProjectName)” /T “$(ConfigurationName)” /D /7z

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

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

После того, как вы закончите свою команду и примените ее, строка команд должна появиться в разделе «События после сборки».
После того, как вы закончите свою команду и примените ее, строка команд должна появиться в разделе «События после сборки».

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

Теперь всякий раз, когда вы запускаете компиляцию / сборку с вашим проектом в конфигурации Release, вы увидите вывод из операции резервного копирования сборки.
Теперь всякий раз, когда вы запускаете компиляцию / сборку с вашим проектом в конфигурации Release, вы увидите вывод из операции резервного копирования сборки.
[…]
[…]
Каждая успешная сборка Release создает новый архив с временным архивом с папкой решения в подкаталоге «Builds» (который может быть настроен с помощью переключателя / O при необходимости).
Каждая успешная сборка Release создает новый архив с временным архивом с папкой решения в подкаталоге «Builds» (который может быть настроен с помощью переключателя / O при необходимости).
Содержимое каждой резервной копии - это полный проект Visual Studio - исходные файлы, настройки конфигурации, скомпилированные двоичные файлы и все, что делает это верным моментом во время резервного копирования.
Содержимое каждой резервной копии - это полный проект Visual Studio - исходные файлы, настройки конфигурации, скомпилированные двоичные файлы и все, что делает это верным моментом во время резервного копирования.
Image
Image

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

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

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

связи

Загрузить сценарий создания сборки проекта

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

Рекомендуемые: