Сбор номеров версий ОС и инструментов для архивирования сборки
-
08-06-2019 - |
Вопрос
Наша автоматизированная машина сборки должна архивировать номера версий операционной системы, а также различные инструменты, используемые во время каждой сборки.(На случай, если нам когда-нибудь понадобится повторить точно такую же сборку позже, возможно, когда машина будет давно мертва.)
Я вижу команду "msinfo32.exe" может использоваться, чтобы вывести весь груз информацию о версии системы, которые мы можем архиве.
Кто-нибудь знает способ легко заархивировать номера версий инструментов Visual Studio?
Какие механизмы используют другие разработчики для сбора такого рода информации в архивных целях?
Дополнительная информация для Фабио Гомеса.
Я согласен с вами, что через 5 лет, вероятно, будет невозможно воссоздать точную конфигурацию операционной системы и инструмента (вплоть до ближайшего обновления для системы безопасности).К сожалению, на самом деле это вытекает из контрактных требований.В рамках нашей поставки заказчику мы должны предоставить копию всего исходного кода и четкие инструкции о том, как именно воспроизвести сборку.Вероятно, мы не сможем полностью выполнить это требование.
Итак, я просто отмечу ваш ответ как правильный (я согласен с вами, что это практически невозможно) и продолжу играть с остальной частью stack overflow.:)
PS.Было бы действительно здорово, если бы stack overflow поддерживал ответы на ответы вместо того, чтобы редактировать исходный вопрос..Но я вижу, что это произошло уже было отказано.
Решение
Извините, но что может привести к необходимости повторить точно такую же сборку в будущем?
По моему опыту, вы либо обеспечиваете безопасность установщиков вашего продукта, либо начинаете новую сборку с нуля.
Также, IMO, единственный способ воспроизвести точно такую же сборку в будущем - это запустить вашу машину сборки на виртуальной машине и сохранить резервную копию виртуальной машины.
Я думаю, что большинство программ, которые вам понадобятся для репликации точно такой же сборки в будущем, больше не будут доступны, поэтому вам нужно будет сохранить копию каждой версии программного обеспечения, которую вы устанавливаете на этот компьютер.
Не могли бы вы более конкретно рассказать о проблеме, которую вы пытаетесь решить?
Другие советы
Альтернативное предложение:поместите соответствующие инструменты (компиляторы, системные заголовки и библиотеки и т.д.) В сам ваш репозиторий, а не ожидайте, что они будут установлены локально.Смотрите также a запись в блоге Я писал на эту тему.
У меня есть Visual Studio, gcc и т.д.все проверено в моем репозитории Subversion.
Если вы опираетесь на командная строка вы могли бы сделать его подробным и записывать все выходные данные в текстовый файл для архивирования при каждой сборке.
eg, msbuild <build_file> > myfile.txt