2010-06-25 4 views
1

Вот среда разработки мы рассматриваем:Идеи для управления версиями Номер

  1. в первую очередь .NET (C# главным образом)
  2. развития в Visual Studio 2008
  3. контроль Источник в SVN (сервер VisualSVN, Tortoise клиент)
  4. развертываний с MSBuild/MSDeploy контролируемых Rake скрипты

То, что мы хотели бы начать с некоторыми вид отслеживания номеров версий в развертываниях. Основная причина здесь заключается в том, чтобы не разработчик мог что-то посмотреть на производственные системы и знать, по крайней мере, то, что производило ревизию управления версиями, отслеживать номера версий в нашей системе продажи билетов и т. Д.

Моя первая мысль чтобы маркировать каждую сборку во время сборки (через сценарий Rake, я бы предположил) с помощью схемы номера версии Major.Minor.Build. Мы можем вручную установить Major и Minor в сценарии Rake, которые не будут часто меняться, и использовать текущий номер версии SVN как Build.

Есть ли лучший способ сделать это? Будет ли запущен номер сборки, созданный из тега старой версии сундука? Любые мысли или советы по этому вопросу? Может быть, где-то есть инструмент, который уже делает это довольно хорошо?

ответ

3

Поскольку вы уже используете рейк для своих сборок, я хотел бы указать на структуру Albacore, которая упрощает управление версиями ваших сборок во время сборки.

http://github.com/derickbailey/Albacore

мы обеспечиваем «AssemblyInfo» задача для граблей, что позволяет задавать любой уровень сборки атрибутов, которые вы хотите - C# или VB.NET. например:

desc "Run a sample assembly info generator" 
assemblyinfo :assemblyinfo do |asm| 
    asm.version = "0.1.2.3" 
    asm.company_name = "a test company" 
    asm.product_name = "a product name goes here" 
    asm.title = "my assembly title" 
    asm.description = "this is the assembly description" 
    asm.copyright = "copyright some year, by some legal entity" 
    asm.custom_attributes :SomeAttribute => "some value goes here", :AnotherAttribute => "with some data" 
    asm.output_file = "lib/spec/support/AssemblyInfo/AssemblyInfo.cs" 
end 

вы можете увидеть asm.version в там, установка версии #. было бы очень просто использовать переменную, чтобы установить это вместо строкового строкового значения.

asm.version = "1.2.3.#{svnrevision}"

есть также MSBuild задача, которая делает вызов MSBuild очень легко, и около 20 более дальше. см. страницу вики на github для полного списка.

для получения дополнительной информации о альбакор, см эти ресурсы:

+0

Я проверить его на понедельник, спасибо! – David

Смежные вопросы