At the end of every day you work on your project, build the current version of your software, and test it for basic functionality. Microsoft enforces this policy religiously, using large teams to build each project on a daily basis. A programmer whose code breaks the build may be called in the middle of the night and must go back to work to fix the problem immediately.
Насколько это правда? Меня тут убеждают, что это все фигня, т.к. та же самая винда собирается несколько дней и физически нельзя делать каждодневные билды. Особенно интересно мнение тех, кто работает в вышеупомянутой компании.
N>At the end of every day you work on your project, build the current version of your software, and test it for basic functionality. Microsoft enforces this policy religiously, using large teams to build each project on a daily basis. A programmer whose code breaks the build may be called in the middle of the night and must go back to work to fix the problem immediately.
N>Насколько это правда? Меня тут убеждают, что это все фигня, т.к. та же самая винда собирается несколько дней и физически нельзя делать каждодневные билды. Особенно интересно мнение тех, кто работает в вышеупомянутой компании.
Там не работаю, но...
Предположим каждый билд требует N дней на M машинах.
Если купить N*M машин, то можно обеспечить билд каждый день.
Думаю MS себе это может позволить
У нас, кстати, ночи уже едва хватает для полного билда.
Но не из-за самой компиляции, а из-за кучи юнит тестов,
которые запускаются автоматом, как часть процедуры билда...
N>At the end of every day you work on your project, build the current version of your software, and test it for basic functionality. Microsoft enforces this policy religiously, using large teams to build each project on a daily basis. A programmer whose code breaks the build may be called in the middle of the night and must go back to work to fix the problem immediately.
N>Насколько это правда? Меня тут убеждают, что это все фигня, т.к. та же самая винда собирается несколько дней и физически нельзя делать каждодневные билды. Особенно интересно мнение тех, кто работает в вышеупомянутой компании.
сказано что ты должен билдить только твой софт, то есть сбилдил пару-тройку dll, прицепил их к чем-то и тести.
Здравствуйте, bkat, Вы писали:
B>Здравствуйте, Nuald, Вы писали:
B>Там не работаю, но... B>Предположим каждый билд требует N дней на M машинах. B>Если купить N*M машин, то можно обеспечить билд каждый день. B>Думаю MS себе это может позволить
Ну... это если каждый билд можно распараллелить на M машин. Такое бывает не часто, хотя, конечно, независимые модули можно собирать независимо (и на разных машинах).
Здравствуйте, dshe, Вы писали:
D>Здравствуйте, bkat, Вы писали:
B>>Здравствуйте, Nuald, Вы писали:
B>>Там не работаю, но... B>>Предположим каждый билд требует N дней на M машинах. B>>Если купить N*M машин, то можно обеспечить билд каждый день. B>>Думаю MS себе это может позволить
D>Ну... это если каждый билд можно распараллелить на M машин. Такое бывает не часто, хотя, конечно, независимые модули можно собирать независимо (и на разных машинах).
Вообще-то есть даже тулы, которые именно этим и занимаются (распараллеливанием билда)
См., например, тут: http://www.xoreax.com/main.htm
Билд вообще очень неплохо может быть распараллелен,
если конечно не пихать все в один файл.
Здравствуйте, Nuald, Вы писали:
N>Насколько это правда? Меня тут убеждают, что это все фигня, т.к. та же самая винда собирается несколько дней и физически нельзя делать каждодневные билды. Особенно интересно мнение тех, кто работает в вышеупомянутой компании.
Насколько я знаю у них сборка идет на кластере из 1500 машин, так что даже весь 2000 виндовоз собирается за 1 час.
А вообще все организовано следующим образом — когда ты chechin'шь исходники, то автоматически запускается билд твоего модуля и прогон всех тестов. Если модуль не собрался или не прошел какой-нибудь тест, то изменения не заносятся в репозиторий, а тебе выдается информация почему изменения не могут быть зачекнинены. Представители Микрософт утверждают, что для подавляющего большинства проектов этот процесс занимает пару секунд.
Я конечно не знаю, как в MS, но у нас nightly build — повседневная реальность.
Около 50 мегов негенеренных исходников, ну раз в пять, допустим, больше генеренных.
Плюс регрессионные тесты в составе процедуры билда. На всё-про-всё на
нескольколькопроцессорном сане уходит около семи часов, причем большая части на тесты.
Никаких проблем.
N>Насколько это правда? N>Меня тут убеждают, что это все фигня, т.к. та же самая винда собирается несколько дней и физически нельзя N>делать каждодневные билды
Убеждения похожи на фигню. Конечно некорректно напрямую сравнивать, но порядок оценить можно — так вот,
Gentoo Linux: (kernel + gcc + Xorg + full KDE + OpenOffice + Firefox + куча всего по мелочи).
Полная сборка всего, не считая времени на выкачивание занимает никак не больше 24-х часов на жалком
Athlon 2200+ / 1 Gb RAM / IDE. В итоге имеем примерно схожую по функционалу систему
(даже превосходящую, если учитывать наличие в этом комплекте офиса).
Соответственно, можно прикинуть, что при наличии мощной многопроцессорной тачки, и уж тем
более кластера, за ночь можно сбилдить всё это хозяйство (я имею ввиду уже Windows)
пяток раз.
Здравствуйте, Nuald, Вы писали:
N>То, что посреди ночи могут заставить пойти баги править.
Нет там такого. Служба безопасности ни за кем не ездит и из пастели не вытаскивает.
Письмо по электронной почте будет действительно отправлено среди ночи.
Когда его прочитает получитель? Скорее всего, утром.
Вот придет товарищь из Редмонда на работу, а у него уже фронт работ обозначился.
А если этот "фронт" за неделю или около того не сместился — опаньки, добро пожаловать в тестеры.
Нормально все в Майкрософт. Не переживайте.
Здравствуйте, bkat, Вы писали:
B>Вообще-то есть даже тулы, которые именно этим и занимаются (распараллеливанием билда) B>См., например, тут: http://www.xoreax.com/main.htm
B>Билд вообще очень неплохо может быть распараллелен, B>если конечно не пихать все в один файл.
Так и предствляю исходники всей винды в одном файле — феерическое зрелище ...
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Здравствуйте, Anatolix, Вы писали:
A>Здравствуйте, bkat, Вы писали:
B>>Вообще-то есть даже тулы, которые именно этим и занимаются (распараллеливанием билда) B>>См., например, тут: http://www.xoreax.com/main.htm
B>>Билд вообще очень неплохо может быть распараллелен, B>>если конечно не пихать все в один файл.
A>Так и предствляю исходники всей винды в одном файле — феерическое зрелище ...
О да... много бы отдал, чтобы посмотреть на это зрелище
Здравствуйте, bkat, Вы писали:
B>Здравствуйте, Anatolix, Вы писали:
A>>Здравствуйте, bkat, Вы писали:
B>>>Вообще-то есть даже тулы, которые именно этим и занимаются (распараллеливанием билда) B>>>См., например, тут: http://www.xoreax.com/main.htm
B>>>Билд вообще очень неплохо может быть распараллелен, B>>>если конечно не пихать все в один файл.
A>>Так и предствляю исходники всей винды в одном файле — феерическое зрелище ...
B>О да... много бы отдал, чтобы посмотреть на это зрелище
Не менее много бы отдал, чтобы поглядеть на исходники куда менее объемных (серьезных, емких и т.д.) продуктов.
например, Adobe Reader .
Здравствуйте, Syd, Вы писали:
Syd>Здравствуйте, bkat, Вы писали:
B>>Здравствуйте, Anatolix, Вы писали:
A>>>Здравствуйте, bkat, Вы писали:
B>>>>Вообще-то есть даже тулы, которые именно этим и занимаются (распараллеливанием билда) B>>>>См., например, тут: http://www.xoreax.com/main.htm
B>>>>Билд вообще очень неплохо может быть распараллелен, B>>>>если конечно не пихать все в один файл.
A>>>Так и предствляю исходники всей винды в одном файле — феерическое зрелище ...
B>>О да... много бы отдал, чтобы посмотреть на это зрелище
Syd>Не менее много бы отдал, чтобы поглядеть на исходники куда менее объемных (серьезных, емких и т.д.) продуктов. Syd>например, Adobe Reader .
Имелось в виду, конечно, исходники в виде одного файла (даже ресурсы опустим)...
Здравствуйте, kavlad, Вы писали:
K>Здравствуйте, bkat, Вы писали:
B>>О да... много бы отдал, чтобы посмотреть на это зрелище
K>А я все бы отдал, чтобы никогда такого не видеть
А ты что, каждый день это наблюдаешь?
Сочувствую...