Вопрос по svn – Создание файла с номером сборки и именем ветки в SVN

2

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

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

Можно ли сделать это с помощью хуков SVN или простого сценария пост-сборки в visual studio?

Ваш Ответ

7   ответов
0
Спасибо за это. Сможете ли вы предоставить более полный код о том, как это реализовать? Jack Ryan
4

Создайте пустой текстовый документ в корне вашего сайта с именем Version.txt.

Создайте второй текстовый документ в корне вашего сайта с именем Version.tmpl со следующим содержанием

Revision:   $WCREV$
Repository: $WCURL$
Modified:   $WCMODS?Yes:No$
Built On:   $WCNOW$

Щелкните правой кнопкой мыши по проекту вашего сайта и выберите свойства. Затем перейдите на вкладку событий сборки.

Вставьте следующее в события пост-сборки:

cd $(ProjectDir)
"%ProgramFiles%\TortoiseSVN\bin\SubWCRev.exe" ..\. Version.tmpl Version.txt

Это обновит файл Version.txt с некоторыми подробностями о рабочей копии, используя Version.tmpl в качестве шаблона. Тот факт, что Version.txt теперь включен в ваш веб-сайт, означает, что каждый раз, когда веб-сайт развертывается, Version.txt также развертывается и будет содержать полезную информацию, если вам когда-нибудь понадобится вернуть вашу кодовую базу обратно в развернутую версию.

0

поэтому у меня есть цель ant, которая хранит вывод svnversion в файле svn-version. Эта цель является зависимостью от всех основных точек входа, поэтому каждый раз, когда я запускаю ant, svn-version обновляется. У меня есть операции упаковки, включающие svn-версию во все поставляемые файлы tar и zip. Поэтому я всегда могу заглянуть в svn-версию, чтобы узнать, какая версия кода установлена.

Какой бы инструмент сборки вы не использовали, вы должны делать то же самое. если данных из svnversion недостаточно, вы можете также добавить вывод svn info в файл.

0

svnversion - это инструмент для проверки текущих версий рабочей копии.

0

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

Используя механизм замены Ant (например, в задаче «Копировать»), вы можете разместить эти значения там, где считаете нужным.

0

vn \ records в корне хранилища. Он должен содержать номер версии в начале файла (строка 5 или около того)

0

чтобы получить информацию от vb. Я использую переписанную версию, чтобы узнать эту информацию во время запуска приложения.

http: //www.codeproject.com/KB/architecture/svn_visual_studio.asp

Похожие вопросы