|
|
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Всем привет! Люди скажите, как Вы управляете билдами своих проектов, какие инструменты для этого используете? Для непосредственной сборки, что лучше maven или ant? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 20:29 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
ant, как наиболее распостраненный и уже дефакто ставшим стандартным средством ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 09:15 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Можешь еще maven попробовать. Берется примерно там же, где и ant: тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 10:06 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Maven - многофункциональнее. Выглядит как дополненный и расширенный Ant. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 10:08 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Стандарт - ant, почти везде требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 11:05 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Это Вы все про инструменты сборки, а мне интересно именно узнать про инструменты управлением сборкой. Чтобы сам в cvs лазил искал изменения и потом запускал ant или maven, ну и все такое. Есть такие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 11:52 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHintЭто Вы все про инструменты сборки, а мне интересно именно узнать про инструменты управлением сборкой. Чтобы сам в cvs лазил искал изменения и потом запускал ant или maven, ну и все такое. Есть такие? ну изначально-то вопрос звучал так: "что лучше - maven или ant?" про cvs никто не спрашивал :) PS по сабжу - не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 11:55 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
дежавюну изначально-то вопрос звучал так: "что лучше - maven или ant?" про cvs никто не спрашивал Про cvs я и не спрашиваю. Изначально вопрос состоял из 2х частей: Первый - что лучше maven или ant, а второй - как Вы управляете билдами своих проектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 12:07 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHintЭто Вы все про инструменты сборки, а мне интересно именно узнать про инструменты управлением сборкой. Чтобы сам в cvs лазил искал изменения и потом запускал ant или maven, ну и все такое. Есть такие? Совсем все у тебя как то сложно. У меня есть репозиторий CVS котрый находится хз где, я у себя делаю CVS->checkout, затем в консоли набираю ant, чего еще то надо?? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 12:09 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Wessen, ты описал все верно. Но это если я у себя локально веду разработку и делаю, время от времени комиты в cvs, то твоя схема работы удобно и разумна. Но вот если ко мне придет менеджер и скажет нужно показать проект над которым я работаю заказщику и при том с самыми последними изменениями, то мне придется сделать кучу действей (собрать war, выложить на сервер и т.д.) которые меня напрягяют, особенно если это происходит часто и проектов много. Вот я и хочу чтобы была прога которая сама отслеживала изменения в cvs, по факту их обнаружения собирала бы проект, делала war и ложила на сервак. В этом случае я бы просто дал линк на проект менеджеру, чтобы он от меня отстал и пусть он там балуется с ним :) Надеюсь уже понятна идея? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 13:32 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHintWessen, ты описал все верно. Но это если я у себя локально веду разработку и делаю, время от времени комиты в cvs, то твоя схема работы удобно и разумна. Но вот если ко мне придет менеджер и скажет нужно показать проект над которым я работаю заказщику и при том с самыми последними изменениями, то мне придется сделать кучу действей (собрать war, выложить на сервер и т.д.) которые меня напрягяют, особенно если это происходит часто и проектов много. Вот я и хочу чтобы была прога которая сама отслеживала изменения в cvs, по факту их обнаружения собирала бы проект, делала war и ложила на сервак. В этом случае я бы просто дал линк на проект менеджеру, чтобы он от меня отстал и пусть он там балуется с ним :) Надеюсь уже понятна идея? :) Я тоже все время это делаю, повторю как: 1. cvs->checkout 2. в консоли ant (получаю war или чего нить другое, не важно) 3. команда scp <только что созданый war> <куда скопировать(можно указать любой сервер в сети!!!)> При определенном навыке это занимает максимум 5 сек. Если в проекте много связей и hot deploy не пашет, ту нужно сделать stop/start appSrver в telnet, еще +2 сек. Неужели для этих действий нужно писать программулину ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 13:54 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
А что кто-то запретил использовать Cvs в ant-овом скрипте??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 14:28 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
ЗЫ МАНАГЕРЫ СОБИРАЮЩИЕ ПРОЕКТ-ЭТО СИЛЬНО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 14:34 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Описанный тобой сценарий хорош, при репозитарий сканируется на предмет изменений. Но для CVS его реализация сопряжена с принципиальными трудностями. Коммит изменений в репозитарий CVS НЕ АТОМАРЕН . Например: 1. Вася П. делает большой коммит в репозитарий (длительный по времени и состоящий из нескольких файлов.) 2. В процессе коммита запускается билдер, который забирает частичные изменения из репозитария. 3. Билдер собирает проект с частичными изменениями. Который скорее всего оказывается битый. 4. Ну и диплоит его на сервер. 5. Вася П. рапортует, что все работает. Таким образом автоматический билдер запросто может выложить туфту вместо проекта. Плюс к этому можно добавить, что политика использования CVS компании может позволять делать коммиты, которые нарушают целостность проекта с точки зрения пользователя. Поэтому автобилдер опять же может собрать лажу. Мы используем вот такой алгоритм действий по релизу проекта (это ant скрипт): 1. Версия в репозитарии помечается тегом. 2. По тегу делается экспорт исходников проекта из репозитария. 3. Собирается проект 4. Результат тестируется вручную/автоматически 5. Результат деплоится на сервер. Последовательность действий может быть другая. Но все соответствующие стадии должны проходиться. Если сборка полностью автоматическая, то сборщик просто запускает скрипт в нужный момент. В любом случае, должен существовать человек, который знает, когда можно собирать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 14:39 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
wessenПри определенном навыке это занимает максимум 5 сек. Если в проекте много связей и hot deploy не пашет, ту нужно сделать stop/start appSrver в telnet, еще +2 сек. Неужели для этих действий нужно писать программулину ? :) Хорошо - 10 сек. это немного :), а как быть в такой ситуации: Скажем я выложил проект на сервер. Манагер обсуждает этот проект с заказщиком, я при этом продолжаю вносить изменения в проект (накомител кучу багов :)). И тут ко мне приходит манагер и говорит: давай из того билда, что на сервере сделаем релиз т.к. он нам с клиентом уже подходит :). Каким образом тут поступать? zalexakaА что кто-то запретил использовать Cvs в ant-овом скрипте??? Не запретили, только что мне с этого? Ну слазию я в cvs - этого мне мало :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:02 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Gurney Спасибо за разъяснения, очень полезно, покрайней мере для меня :) но неужели нет инструмента для управления билдами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:09 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
У нас все проще :) Сейчас над проектом работаю два человека, я и коллега, коллега сидит рядом и мы всегда в курсе, кто, что делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:18 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
maven имеет таски для автоматического чекаута из CVS. maven - именно инструмент для сборки проекта. И вообще, прочтите доку. Мавеновский проект требует запуска всего одной команды: maven. Все остальное прописывается в билд-файле. Включая cvs checkout, скачивание требуемых библиотек, загрузку тестов и многое многое другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:46 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
wessenУ нас все проще :) Сейчас над проектом работаю два человека, я и коллега, коллега сидит рядом и мы всегда в курсе, кто, что делает. скока платят? нужен третий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:50 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Licvidator_guestmaven имеет таски для автоматического чекаута из CVS. maven - именно инструмент для сборки проекта. И вообще, прочтите доку. Мавеновский проект требует запуска всего одной команды: maven. Все остальное прописывается в билд-файле. Включая cvs checkout, скачивание требуемых библиотек, загрузку тестов и многое многое другое. ant обладает теми же самыми свойствами. и плюс ко всему более распостраненный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:51 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
wessenУ нас все проще :) Сейчас над проектом работаю два человека, я и коллега, коллега сидит рядом и мы всегда в курсе, кто, что делает. Хе-хе :)) при такой команде такой инструмент скорей всего и не нужен :) а вот при команде от 5 и выше - это уже вопрос т.к. проекты большие и сложные, взоимодействие между 5ю человеками тоже накладывает отпечаток т.к. все всем сразу не расскажешь, кто-то, что-то, кому-то забыл сказать и пошли тормаза :) Поэтому хозейственные действия, которые раньше занимали секунду превращаются в минуты (притом немалые), да и вообще эти мелочи держат постоянно в напряжении т.к. голова более важными мыслями забита. А так дал манагеру один раз линк на проект и пусть он там смотрит самые послендии изменения. И с вопросам типа, собери, выложи не подходит :) достал :). Такими вопросы (кстати они неограничиваются только собрал, выложил), как мне кажется должна заниматся билд-система ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 15:51 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHint... Хе-хе :)) при такой команде такой инструмент скорей всего и не нужен :) а вот при команде от 5 и выше - это уже вопрос т.к. проекты большие и сложные, взоимодействие между 5ю человеками тоже накладывает отпечаток т.к. все всем сразу не расскажешь, кто-то,.... У нас 40 человек работают над проектом, столько же со стороны бужуев(коллег). Работаем над одним проектом. Используем CVS + ant, проблем о которых ты пишешь - нет. Про 5 человек слишком смелое заявление :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:15 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
де жа вю wessenУ нас все проще :) Сейчас над проектом работаю два человека, я и коллега, коллега сидит рядом и мы всегда в курсе, кто, что делает. скока платят? нужен третий? Кодерам платят 500-800$. В тот проект в которм я сейчас, третий не нужен, а так, набирали еще народ... точно не могу сказать, я этим не занимаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:20 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
И все-таки ИМХО maven это расширение функциональности ant. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:24 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Для мавена еще можно плагины писать, а для анта нет, хи-хи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:24 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Licvidator_againИ все-таки ИМХО maven это расширение функциональности ant. Так оно и есть, для мавена у нас написан плагин, результатом его работы являетются всякие там ear, isar и build.xml для анта(для дальнейшей сборки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:28 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsУ нас 40 человек работают над проектом, столько же со стороны бужуев(коллег). Работаем над одним проектом. Используем CVS + ant, проблем о которых ты пишешь - нет. Про 5 человек слишком смелое заявление :) 5 человек - да смело :)) ну давай поговорим про 40. Это уже хороший пример. Расскажи плз, как вы управляете билдами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:30 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
а как насчёт этого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:30 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
2GentleHint Как то у вас странно, вот прямо взял менеджер по середине недели подошел и попросил собрать то, что вы там наваяли. А если там все не в рабочем состоянии? Обычно заранее оговаривают, какие должны быть промежуточные версии и срок их сдачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:32 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Кстати maven нечто больше чем просто билдер. Он позволяет управлять мета инфой проекта, а ant для этого нужно натаскивать, а это время, а время деньги ну и так далее... Можно считать что maven новая версия ant'a. Он не призван заминить ant, но дополнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 16:36 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHint 5 человек - да смело :)) ну давай поговорим про 40. Это уже хороший пример. Расскажи плз, как вы управляете билдами? Ну как. В CVS хранится код. Код регулярно "тагируется". Перед релизами отделаяются бранчи, в которых прекращают изменять функциональность, только фиксят баги. В автоматическом режиме запускаются junit'ы в каждом из бранчей. Об ошибках рапартуется всем программистам. Прежде чем делать комит программист апдейтит проект, что бы избежать конфликтов (т.е. исправить их самому, если они есть). Каждый программист работает по какому-то "заданию". Задания, которые предполагают работу над одной и той же частью кода, обычно выделяются в подпроект, что бы не возникло путаницы кто/что/как будет делать и делаются под управлением старших программистов. Ну и т.д. В итоге проблем с "билдами" практически не возникает. Были единичные случаи, когда коммитились большие изменения и "ломали" head. Но пары часов обычно хватает, что бы всё восстановить (случается раз в полгода не чаще). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 17:21 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Спасибо за ответ. У меня возникли след. вопросы: 1. Код регулярно "тагируется" - каким образом это происходит? На освове чего принимается решение, что нужно сделать тэг? И кто как правило этим занимается. Если случайный программисть, то как информация о новом тэге поступает другим программистам? 2. "в атоматическом режиме запускаются junit'ы в каждом из бранчей" - на основе каких событий они запускаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:34 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
GentleHintNotGonnaGetUs Спасибо за ответ. У меня возникли след. вопросы: 1. Код регулярно "тагируется" - каким образом это происходит? На освове чего принимается решение, что нужно сделать тэг? И кто как правило этим занимается. Если случайный программисть, то как информация о новом тэге поступает другим программистам? 2. "в атоматическом режиме запускаются junit'ы в каждом из бранчей" - на основе каких событий они запускаются? 1. Как только затевается что-то крупное текущая версия отмечается тегом. "случайный программист" этим не занимается. 2. Просто по таймеру. На анте написан "скрипт", который в случае появления ошибок берёт логи cvs и пишет, кто что комитил со времени последнего прохождения junits и красиво оформив рассылает по почте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:42 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs 2. Просто по таймеру. На анте написан "скрипт", который в случае появления ошибок берёт логи cvs и пишет, кто что комитил со времени последнего прохождения junits и красиво оформив рассылает по почте :) Об ошибках сообщается всем программистам или только тем кто последний вносил изменения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:49 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
всем. каждый перед коммитом обязан проверить junits и убедиться, что не в нёс ошибок. т.к. не всегда всё хорошо, нужно иметь список поломаных "не тобой" тестов, для этого он и рассылается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:54 |
|
||
|
Управление сборкой (build) проекта
|
|||
|---|---|---|---|
|
#18+
Спасибо за разъяснения :) кстати я нашел один такой тулз для управления билдами.. CruiseControl, буду смотреть что за вещь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 19:01 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2151028]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 441ms |

| 0 / 0 |
