скрипт сборки - как это сделать - PullRequest
2 голосов
/ 17 декабря 2009

Около 2 месяцев назад я обогнал процесс строительства в текущей компании. Несмотря на то, что я не очень разбираюсь в этом, у меня было достаточно времени, поэтому у меня не было большого выбора.

Ситуация не очень хорошая, и я хотел бы сделать следующее:

  1. Маркировка файлов в SourceSafe с версией (пример ProjectName PV 1.2)
  2. GetFiles из SourceSafe в определенный каталог
  3. Сборка проектов vb6 / c ++ / c # (да, есть все виды)
  4. Сборка установок InstallShield

На данный момент это частично сделано с помощью пакетных сценариев (один для маркировки и получения, другой для сборки и т. Д.). Поэтому, когда я начинаю строить, я в значительной степени должен присматривать за ним Хорошая часть этого кода может быть использована повторно.

Какие-нибудь рекомендации о том, как сделать это лучше? Одна большая проблема - целая куча зависимостей между проектами. Также маркировка должна увеличивать версию и при необходимости менять PV на EV.

Я бы хотел максимально сократить взаимодействие с пользователем. Один щелчок по одному скрипту сборки (Spolsky - бог), и все готово, нет необходимости увеличивать версию, чтобы указать, где искать файлы и тому подобное.

Является ли пакетный сценарий лучшим способом? Должен ли я сделать некоторые функциональные возможности с msbuild. Есть ли другие варианты?

Конкретный код не нужен, сейчас мне просто нужен способ, как его улучшить, хотя это не повредит.

Tnx, Marko

Ответы [ 2 ]

1 голос
/ 17 декабря 2009

Поскольку у вас уже есть система сборки (хотя некоторые из них в настоящее время "ручные"), что бы вы ни делали, не начинайте все заново.

(1) Убедитесь, что у вас есть тестовая машина (или виртуальная машина) для работы. Таким образом, вы можете вносить изменения и улучшения, не беспокоясь о том, чтобы что-то сломать.

(2) Поместите все ваших скриптов и инструментов сборки в систему управления версиями, а не только исходный код. Затем, когда вы вносите изменения, посмотрите, работают ли они. Если они это сделают, то сохраните их для контроля версий. Если они этого не сделают, тогда отбросьте их назад.

(3) Выберите одну область для работы за один раз. Не пытайтесь делать все сразу. Переход от большого количества ручной работы к "одному щелчку" займет время, независимо от того, с какой системой сборки вы работаете.

1 голос
/ 17 декабря 2009

Звучит так, как будто вам нужно решение для непрерывной интеграции, например CC.Net . Он имеет опции конфигурации, чтобы делать все, что вы хотите, и большое сообщество, чтобы отвечать на вопросы.

Кроме того, пакетный сценарий, вероятно, не является хорошим вариантом. Сложные инструменты сборки и интеграции позволят вам вводить параметры в сборку и создавать разные сборки для разных сред (тестирование, производство и т. Д.). Пакетный скриптинг будет включать много ручного кодирования и склеивания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...