?

Log in

No account? Create an account

[icon] Continuous Integration - Lorem Ipsum igitur, juvenes dum sumus
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (Мой сайт).

Tags:, , ,
Security:
Subject:Continuous Integration
Time:05:51 pm
Выяснил (довольно случайно, хотя давно подозревал), что в компании нет вообще такой вещи как Continuous Integration для "основного" программного продукта. Соответственно, и тесты люди не пишут, и вообще ничего не делают. Если кто-то чего-то сломал - звонят друг другу. Ну, круто, 21-й век.

Решил я это дело поменять. Со своим уставом в их алабамский монастырь. Для начала решил выяснить, как они вообще к такой идее относятся. И тут же офигел. Сплошной скепсис и негатив - "да не надо нам это! только лишнюю нагрузку на CVS сервер создавать! мы каждое утро ручками билд запускаем, и ничего! не нужно нам срочно выяснять, кто билд сломал - до завтра потерпит! это нормально, что текущая версия не собирается!" Вот в таком вот духе всё.

Вот только мне пофиг, я всё равно установлю, настрою и будете пользоваться, дорогие мои друзья. Я сказал, что причиню вам добро - и я это сделаю:)

Не знаю только, как заставить их тесты писать. Это кажется нереальным пока что.
comments: Оставить комментарий Previous Entry Поделиться Next Entry


vgramagin
Link:(Link)
Time:2013-02-05 01:49 am
Dude, it's called job security

Если бы ты знал, сколько мне сил стоило убедить наших использовать generics после перехода с 1.4 на 1.6...
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 02:51 am
Самое забавное, что всё это мне высказал кодер, который на 7 лет меня младше:)
(Ответить) (Parent) (Thread)


elder_george
Link:(Link)
Time:2013-02-05 06:44 am
Такой молодой, а уже real programmer ;-)
(Ответить) (Parent) (Thread)


elder_george
Link:(Link)
Time:2013-02-05 06:41 am
я в 2009 девелопил под 1.4 (кто-то из дорогих кастомеров настаивал) и думал, что это плохо. А тут вон оно как бывает...
(Ответить) (Parent) (Thread)


chiefsonnew
Link:(Link)
Time:2013-02-05 02:38 am
Витя, ты истинно советский человек.
Надпись на воротах лагеря на Соловках гласила:"Железной рукой загоним человечество в счастье".
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 02:50 am
Зачем человечество? Американцев!
(Ответить) (Parent) (Thread)


aleandr_2003
Link:(Link)
Time:2013-02-05 11:59 am
Как же тут не хватает кнопки лайк :)
(Ответить) (Parent) (Thread)


axinija
Link:(Link)
Time:2013-02-05 05:55 am
ну, так принуждение к миру - типично русская мысль:)
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 04:15 pm
Интернациональная вполне:)
(Ответить) (Parent) (Thread)


mehas
Link:(Link)
Time:2013-02-05 08:37 am
Whoa, whoa! Остановись, пока не поздно. Ты так кого-нибудь без работы оставишь!
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 04:14 pm
Ха ха! Буду только рад:)
(Ответить) (Parent) (Thread)


wesel
Link:(Link)
Time:2013-02-05 10:37 am
А какая CVS? Мы плачем от Subversion и очень хотим распределенную систему, но это же надо кого-то из девелоперов занять на неделю минимум разбираться, как ее организовать..

Просто когда репозиторий один, понятно, что текущий билд будет ломаться - если люди вместе работают, или просто не доверяют локальному компу свой ценный труд, то коммитят так или иначе недоделанное. Мы стабилизируем только бранчи - в заданный заранее день все предположительно заканчивают разработку, закоммиченное тестируется, и создается ветка. Она стабильна, в ней только багофикс. Постоянно удерживать стабильным весь код, при этом иметь один репозиторий - мне видится полной утопией.
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 04:14 pm
CVS - в буквальном виде CVS, та, которая существовала до SVN и продолжает существовать. Смысла переходить на SVN, которым пользуемся мы в наших (неосновных для компании) проектах никто не видит.

А какую распределенность вы хотите от SVN? Кластер, или что-то git-подобное? И какой в этом смысл?:)

У нас ребята порывались перейти на гибридную связку git+SVN, но достаточно сильных аргументов я не услышах (да, тут уже я ретроград!), ну просто потому что не было особых проблем с SVN до сих пор. Если не считать медленный чекаут с американского сервера:)

Ну и, да, мы стабилизируем только транк и прод, все остальные ветки - по желанию, но уже не обязательно
(Ответить) (Parent) (Thread)


wesel
Link:(Link)
Time:2013-02-07 04:53 am
Мы хотим git, но не умеем его готовить.

А как вы работаете со стабильным транком? Вот есть задача, я ее делаю неделю. Я не заливаю? Есть задача, ее делает мой коллега четыре месяца, и постоянно со мной консультируется. Мне код локально у него на компе смотреть, там же правки вносить? Или выделять отдельные ветки под каждую такую задачу, потом сливать с основной? Но, как я понимаю, ветки не могут иметь иерархическую структуру, какую могут иметь репозитории в git - когда у меня может быть одновременно и мой собственный, куда я заливаю все свое, и еще один повыше - мой и коллеги, и дальше общий транк.

У нас в этом плане лыжи как-то вообще не едут - коммитим в транк, и хотя ломаем сборку редко, зато баги клиентам уползают часто. Бранч же все равно в первый момент времени равен транку, и отдельно его не тестируют, просто выделяют когда условно "все ок", а потом клиенты проверяют, что там в самом деле ок. Хехехе. Вот я и интересуюсь, как умные люди эти проблемы решают.
(Ответить) (Parent) (Thread)


torrio
Link:(Link)
Time:2013-02-07 05:30 am
Не знаю как умные люди эти проблемы решают, я не такой, но зачем же клиентам показывать то, что в транке у вас в реальном времени?:) Можно ведь под релиз отдельную веточку, на стейдже её потестировать в хвост и в гриву, и только после выкатывать.
С иерархическими структурами, да, вроде не очень. Но, признаюсь, нам пока что не приходилось из-за этого испытывать какие-либо неудобства. Может быть, масштаб проекта не тот...
(Ответить) (Parent) (Thread)


wesel
Link:(Link)
Time:2013-02-07 09:00 am
Да, концепция оттестировать бранч после выделения но до релиза клиентам заманчива с одной стороны - но с другой стороны они же хотят все прямо вот сейчас. И технически большая часть выделенного протестирована, не протестированы только последние задачи. Вот и едим кактусы (:

От масштаба, конечно, зависит. У нас кода больше, чем нужно ):
(Ответить) (Parent) (Thread)


renco
Link:(Link)
Time:2013-02-05 05:53 pm
А код адаптирован под написание Unit-тестов?
Или это будут больше тесты интеграционные?

А что для CI планируешь использовать? TeamCity, CI или MSBuild?
(Ответить) (Thread)


torrio
Link:(Link)
Time:2013-02-05 06:01 pm
Код-говнокод. Но небольшой рефакторинг еще никому не вредил:)

Пока что ставлю Jenkins, там видно будет.
(Ответить) (Parent) (Thread)

[icon] Continuous Integration - Lorem Ipsum igitur, juvenes dum sumus
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (Мой сайт).