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