Teambuild / MSBuild и штамповка QA-одобренных сборок - PullRequest
0 голосов
/ 10 марта 2011

У нас есть автоматизированный процесс сборки и контроля качества для нашего программного обеспечения, использующий tfs / teambuild и msbuild, и мы хотим знать (для целей аудита), прошел ли компонент этот процесс или нет.

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

Каков наилучший способ сделать это?Подписание кода как часть процесса сборки кажется наиболее близким к этим требованиям, но, вероятно, это не охватит какие-либо сторонние библиотеки, которые могут быть использованы?Я также читал об инструменте ILMerge для объединения всех сборок в одну, но тогда я не знаю достаточно, чтобы выяснить, могут ли они быть подписаны или нет?

Я уверен, что мы не первыелюди должны иметь требование, поэтому ищите любые идеи или намеки от других, которые могли бы сделать такую ​​вещь

Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Наши сборки для разработчиков настроены на сохранение версий на уровне "0.0.0.0", но наш сервер сборки помечает сборку на основе предварительно сконфигурированной версии и автоматически сгенерированной строки сборки."1.0.3.xxx".Ваш сервер сборки не позволяет этого?

0 голосов
/ 10 марта 2011

Ваш процесс сборки должен обновлять каждый из ваших файлов assemblyinfo.cs проектов (или глобального связанного эквивалента), вы можете сделать это с номером набора изменений TFS, так как, как и в предыдущем постере, вы указали свойство в каждой dll 1.0.changeset.buildno или что-то подобное. Вы можете сделать это легко в msbuild. Значения каждого файла информации о сборке могут быть установлены в системе контроля версий как нечто очевидное, например 0 или 999.

Многое из того, что вы спрашиваете, касается процесса и обучения. Если вы используете установщики или почтовые индексы для упаковки ваших результатов, то вы также можете пометить их номером сборки как часть процесса сборки. Но если у вас есть changeset, у вас есть ссылка из dll на код, которую можно отслеживать, в сочетании со ссылками на сторонние dll-ссылки, как определено в каждом csproj.

...