Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как синхронизировать номер редакции SVN с моим веб-сайтом ASP.NET?
Переполнение стека имеет номер версии subversion внизу:
svn пересмотр: 679
Я хочу использовать такое автоматическое управление версиями с моими формами .NET Web Site/Application , Windows, WPD projects/solutions.
Как мне это реализовать?
Похоже, что Джефф использует CruiseControl.NET , основываясь на некоторых листающих расшифровках подкастов. Это, по-видимому, автоматизировало возможности deployment от управления версиями до производства. Может быть, именно здесь происходит вставка?
Мы делаем это с xUnit.net для наших автоматических сборок. Мы используем CruiseControl.net (и пробуем TeamCity). Задача MSBuild, которую мы запускаем для непрерывной интеграции, автоматически изменяет номер сборки для нас, поэтому результирующий файл build ZIP содержит правильно версионный набор из DLLs и EXEs.
Наш файл MSBuild содержит ссылку на UsingTask для DLL, который выполняет замену регулярных выражений: (вы можете использовать этот DLL, так как он также подпадает под лицензию MS-PL)
<UsingTask
AssemblyFile="3rdParty\CodePlex.MSBuildTasks.dll"
TaskName="CodePlex.MSBuildTasks.RegexReplace"/>
Далее мы извлекаем номер сборки, который автоматически предоставляется системой CI. Вы также можете попросить вашего поставщика системы управления версиями предоставить номер исходной редакции, Если хотите, но мы нашли, что сборка # в системе CI была более полезной, потому что не только можно увидеть результаты интеграции по номеру сборки CI, но и предоставляет ссылку обратно на набор изменений, которые были включены в сборку.
<!-- Cascading attempts to find a build number --> <PropertyGroup Condition="'$(BuildNumber)' == ''"> <BuildNumber>$(BUILD_NUMBER)</BuildNumber> </PropertyGroup> <PropertyGroup Condition="'$(BuildNumber)' == ''"> <BuildNumber>$(ccnetlabel)</BuildNumber> </PropertyGroup> <PropertyGroup Condition="'$(BuildNumber)' == ''"> <BuildNumber>0</BuildNumber> </PropertyGroup>
(Мы пробуем BUILD_NUMBER, который находится от TeamCity, затем ccnetlabel, который находится от CC.net, и если ни один из них не присутствует, мы по умолчанию устанавливаем 0, так что мы можем проверить сценарий автоматической сборки вручную.)
Далее у нас есть задача, которая устанавливает номер сборки в файл GlobalAssemblyInfo.cs, который мы связываем со всеми нашими проектами:
<Target Name="SetVersionNumber">
<RegexReplace
Pattern='AssemblyVersion\("(\d+\.\d+\.\d+)\.\d+"\)'
Replacement='AssemblyVersion("$1.$(BuildNumber)")'
Files='GlobalAssemblyInfo.cs'/>
<Exec Command="attrib -r xunit.installer\App.manifest"/>
</Target>
Это находит атрибут AssemblyVersion и заменяет номер версии a.b.c.d на a.b.c.BuildNumber. Обычно мы оставляем источник проверенным в дереве с фиксированными первыми тремя частями номера конструктора, а четвертую-на нуле (f.e., сегодня это 1.0.2.0).
В процессе сборки убедитесь, что задача SetVersionNumber предшествует задаче сборки. В конце концов, мы используем нашу задачу Zip для zip результатов сборки, чтобы иметь историю двоичных файлов для каждой автоматизированной сборки.
Вы можете сделать это, добавив следующее В любом месте вашего кода
$Id:$
Так, например, поступило @Jeff:
<div id="svnrevision">svn revision: $Id:$</div>
а при регистрации сервер заменил $Id:$ на текущий номер редакции. Я также нашел эту ссылку .
Есть также $Date:$ , $Rev:$, $Revision:$
Если вы используете ASP.Net MVC (как и StackOverflow), я написал простое для выполнения 3-шаговое руководство о том, как автоматически получить и отобразить последнюю версию SVN. Экскурсовод вдохновенно размышлял про себя именно над этим вопросом! :о)
@Balloon Если вы используете TortoiseSVN, вы можете использовать упакованную программу SubWCRev . Он запрашивает рабочую копию и сообщает вам только самый высокий номер редакции. По общему признанию, это похоже на клиентский подход к проблеме на стороне сервера, но поскольку это хорошая программа командной строки, вы должны быть в состоянии захватить ее выходные данные для использования довольно легко.
$rev и другие подобные ему являются редакциями для отдельных файлов, поэтому они не изменятся, если файл не изменится. Номер на веб-странице - это (скорее всего, я предполагаю здесь) номер редакции svn для всего проекта. Это отличается от ревизий файлов, на которые указывали другие.
В этом случае я предполагаю, что CCNET вытягивает номер редакции проекта и переписывает часть веб-страницы с этим номером. Любое решение CI должно быть в состоянии сделать это, настроить это самостоятельно с CCNET и Teamcity (хотя и не веб-страницы, но автоматическое управление версиями deployment/assembly версий).
Чтобы сделать это, используйте решение CI, которое поддерживает его, или используйте процесс сборки (MSbuild/Nant) для хранения этой версии и записи ее в файлы перед "deploying".
Чтобы добавить к ответу @BradWilson's: "вы также можете попросить вашего поставщика системы управления версиями предоставить номер редакции исходного кода, если хотите"
Чтобы соединить Subversion и MSBuild: MSBuild Проект Задач Сообщества