Я обнаружил, что эта система работает очень хорошо для меня. Я предполагаю, что VS 2005/2008 и C #, но тот же принцип работает для других компиляторов, и языки просто заменяют ваш собственный ароматизатор.
Использование CC.NET
- Проверьте все источники с scheduleTrigger, если несколько местоположений используют
- Используйте MSBuild для построения каждого требуемого решения (при условии VS 2005/2008), или nant, или любого другого инструмента сборки, который лучше всего подходит для компиляции проектов компонентов
- Используйте MSBuild для создания установщиков WIX, хотя я также использовал MSBuild для создания установок InnoSetup и Wise Installation Studio
- Используйте MSBuild, чтобы обновить файлы AssemblyInfo.cs для любых проектов, которыми скрипт управления должен управлять
- Используйте командную строку управления исходным кодом для регистрации обновленных файлов AssemblyInfo.ca
- Наконец, используйте MSBuild, чтобы скопировать ваш установщик вывода в новую папку на вашем сервере. Я использую метку времени из исполняемого файла основного продукта, чтобы создать временную метку вместе с сгенерированным номером версии для имени папки (../Builds/Product/v.M.m.r.p - DATE TIME /)
Мне также нравится генерировать электронное письмо с уведомлением о сборке в конце.
Что касается рекомендаций установщика , то здесь есть компромисс.
Для быстрой генерации используйте установщик скриптов, такой как NSIS или Inno Setup. Недостаток - несовместимость с установщиком Windows.
Для продуктов установщика Windows использование Wise или InstallShield выполняется быстрее, но я считаю, что дорогие инструменты и обслуживание моих сценариев установки требуют больших затрат. Использование WIX в первый раз, как правило, обходится гораздо дороже (кривая обучения + налог на угловую скобку), но затем его легче поддерживать, поскольку все это XML и инструменты командной строки просты в использовании.
У меня был некоторый успех с комплектацией установки с помощью Inno Setup, так как связывание и создание цепочек установщика Windows (по крайней мере, для Windows XP) - настоящая проблема.