Как уведомить других членов команды о важных изменениях проекта (используя SVN или Ant)? - PullRequest
3 голосов
/ 05 ноября 2010

Если в структуру проекта внесены существенные изменения и простая проверка исходного кода не приведет к ее сокращению, у нас в проекте есть файл "changes.txt", который описывает, какие дополнительные действия необходимы:

10.10.2010: новое поле таблицы, выполните следующий запрос: .....

10/11 / 2010: библиотека X была заменена библиотекой Y, скопируйте ее в папку tomcat

Это делает работу, но часто люди забывают проверить этот файл и потратить время на выяснение, почему он не работает.

Наши проекты находятся на Java, и мы используем Ant для сборок и SVN для управления версиями исходного кода.

Я уверен, что должно быть какое-то лучшее решение.Я не ищу чего-то необычного и продвинутого, большое красное сообщение во время проверки SVN или какое-нибудь сообщение во время сборки Ant было бы идеально.

(PS. Внесение изменений автоматически не допускается, некоторые инструкции должен выполнять только человек)

Ответы [ 3 ]

3 голосов
/ 05 ноября 2010

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

Глядя на упомянутые вами изменения, вам действительно нужны изменения, примененные к песочнице до сборки, иначе режим сбоя будет непредсказуемым и, возможно, очень загадочным.

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

Чтобы решить, актуальна ли песочница, вам нужно сохранить в ней какой-то номер редакции, который обновляется только после того, как член команды обновил его. Как вы упомянули базу данных, как насчет простой таблицы, которая просто хранит число, которое представляет состояние песочницы. Ваша новая цель Ant будет использовать задачу sql , чтобы получить номер ревизии песочницы и сравнить его с номером в дереве исходного кода (вы можете использовать файл, не контролируемый источником, для хранения версии песочницы, если база данных слишком сложный маршрут.) Если они различаются, вы можете повторить сообщение «Ваша песочница нуждается в обновлении, посмотрите файл изменений и примените изменения не новее ${sandbox.date}». Как только песочница будет обновлена, разработчику потребуется вручную обновить запись в таблице базы данных, чтобы заставить сборку работать.

Я бы настоятельно рекомендовал вам внести в сценарий как можно больше изменений, даже если сценарии обновления выполняются вручную.

2 голосов
/ 05 ноября 2010

Честно говоря, массовые электронные письма, похоже, помогают мне работать.

РЕДАКТИРОВАТЬ: Это не значит, что вы не должны обновлять changes.txt.

2 голосов
/ 05 ноября 2010

Добавьте это в свой сборочный файл ant в соответствующем месте (возможно, в последней задаче, связанной со сборкой, чтобы люди могли видеть ее без прокрутки вверх):

<loadfile property="changes" srcFile="changes.txt"/>
<echo>${changes}</echo>
...