Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.11.11 16:44
Оценка: 26 (5)
Собственно появился сабж. Помимо официального релиза и официальной беты теперь в загрузках на Github живет официальные ночные сборки. Точнее одна, старые удаляются при публикации новой. Обновляется ежедневно в 5:00 утра по Москве, если с момента последней сборки были какие-либо изменения в репозитории. Имеющие права на RSDN'овском TeamCity могут пнуть билд вручную и, тем самым, опубликовать его результаты на Github не дожидаясь пяти утра, если нужно.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Ночные сборки на Github
От: BogdanMart Украина  
Дата: 21.11.11 17:14
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Собственно появился сабж. Помимо официального релиза и официальной беты теперь в загрузках на Github живет официальные ночные сборки. Точнее одна, старые удаляются при публикации новой. Обновляется ежедневно в 5:00 утра по Москве, если с момента последней сборки были какие-либо изменения в репозитории. Имеющие права на RSDN'овском TeamCity могут пнуть билд вручную и, тем самым, опубликовать его результаты на Github не дожидаясь пяти утра, если нужно.


Почему бы не билдить на каждый чих(комит)?
Тогда можно сразу удивить что комит фейлится!
Re: Ночные сборки на Github
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.11.11 18:28
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Собственно появился сабж. Помимо официального релиза и официальной беты теперь в загрузках на Github живет официальные ночные сборки. Точнее одна, старые удаляются при публикации новой. Обновляется ежедневно в 5:00 утра по Москве, если с момента последней сборки были какие-либо изменения в репозитории. Имеющие права на RSDN'овском TeamCity могут пнуть билд вручную и, тем самым, опубликовать его результаты на Github не дожидаясь пяти утра, если нужно.


А автоматизирвоанный ручной билд с выкладыванием появился? Это более нужная фича.

ЗЫ

Сразу предупреждаю, что все кто скачивает ночные сборки, делают это на свой страх и риск. По сему просьба не забивать исьюс-треккер жалобами на глюки в ночных сборках. Сначала проконсультируйтесь на форуме. И если знающие люди скажут, что это баг, а не временная недороботка, вот тогда уже исьюс создавайте.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.11.11 19:45
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Почему бы не билдить на каждый чих(комит)?


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

BM>Тогда можно сразу удивить что комит фейлится!


А вот это лучше видеть еще до коммита, запуская перед ним у себя на машине BuildInstallerFast

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.11.11 19:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А автоматизирвоанный ручной билд с выкладыванием появился? Это более нужная фича.


Сейчас можно зайти в TeamCity и нажать на кнопку "Run" напротив проекта Nemerle. Это запустит внеочередную "ночную" сборку последнего мастера с выкладыванием результатов на гитхаб. Около 20 минут. В принципе, это то, о чем ты спрашиваешь, за исключением одного момента: файлы такой сборки будут удалены с гитхаба при следующем билде и замещены его результатами.

И вот, как правильнее организовать (и надо ли это делать вообще) сборку и выкладывание не "ночных" сборок, с организационной т.з. — был бы рад услышать, т.к. у самого мыслей на этот счет пока нет. Автоматическое формирование ченджлиста сделаю чуть позже, тут тоже надо подумать, как это правильнее закрутить.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Ночные сборки на Github
От: BogdanMart Украина  
Дата: 21.11.11 19:48
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Далеко не каждый коммит требует пересборки проекта, с другой стороны, бывают дни, когда коммитов достаточно много, а следовательно сервер будет выполнять совершенно бесполезную работу по сборке очередного билда, его закачки на гитхаб, удалении оттуда, сборки нового билда и т.п.


В тим ситях можно поставить дилей, например 60 минут

BM>>Тогда можно сразу удивить что комит фейлится!


KV>А вот это лучше видеть еще до коммита, запуская перед ним у себя на машине BuildInstallerFast


Только не все это делают и почему то на форуме иногда вылазит пост "Код с гитхаба не собирается" Особенное если уплреквесты принимать через MergeButton

а если напряжно литьна сервак, то создать отдельную таску, которая просто прогоняет тесты, но но не заливаетна ФТП. И если что уведомляет на мыло того кто зафейлил билд
Re[3]: Ночные сборки на Github
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.11.11 21:23
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

VD>>А автоматизирвоанный ручной билд с выкладыванием появился? Это более нужная фича.


KV>Сейчас можно зайти в TeamCity и нажать на кнопку "Run" напротив проекта Nemerle. Это запустит внеочередную "ночную" сборку последнего мастера с выкладыванием результатов на гитхаб. Около 20 минут. В принципе, это то, о чем ты спрашиваешь, за исключением одного момента: файлы такой сборки будут удалены с гитхаба при следующем билде и замещены его результатами.


Это совсем не то о чем я спрашиваю. Я уже говорил, что как раз ночные билды не особо то и нужны (и даже, от части, вредны).

Нужно чтобы можно было опубликовать очередную версию беэты или релиза и чтобы эта версия оставалась до тех пор пока ее не удалят вручную.

А вот исчезающие ночные билды как раз не нужны. Точнее нужны тем кому не терпится получить патч к своей проблеме или просо поиграться с новой функциональностью.

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

KV>И вот, как правильнее организовать (и надо ли это делать вообще) сборку и выкладывание не "ночных" сборок, с организационной т.з. — был бы рад услышать, т.к. у самого мыслей на этот счет пока нет.


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

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

Ну, естественно должна быть страничка где эти бинарники видны всем в режиме "только для чтения".

Если страница будет собственной, то хорошо бы учитывать количество скачиваний.

KV> Автоматическое формирование ченджлиста сделаю чуть позже, тут тоже надо подумать, как это правильнее закрутить.


Надо сделать задачу (возможно тупо — ехе-шник) которая будет лезть на гитхаб, снимать с него список закрытых исьюсов для указнного мэйлстоуна и имеющего хотя бы один лэйбл. Писать их заголовки в текстовый файл, а этот файл кладывать в инсталлятор и размещать среди файлов для закачки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Ночные сборки на Github
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.11.11 21:26
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>а если напряжно литьна сервак, то создать отдельную таску, которая просто прогоняет тесты, но но не заливаетна ФТП. И если что уведомляет на мыло того кто зафейлил билд


Прогнать тесты в двухпроходном режиме — это тоже минут 7 (а так как сервер и так занят, то все 10-15).

Хватило бы чтобы раз в день сервер делал проверку и слал сообщения на мыло.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ночные сборки на Github
От: BogdanMart Украина  
Дата: 21.11.11 21:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хватило бы чтобы раз в день сервер делал проверку и слал сообщения на мыло.


Тогда не так ясно на коком комите произошел трабл.

Сервера же нынче толстые. + можно сделать чтобы добровольцы подняли у себя по агенту для билда
Re[4]: Ночные сборки на Github
От: BogdanMart Украина  
Дата: 21.11.11 21:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Будет еще круче, если там же будет список ранее размещенных версий и у каждой будет кнопка "удалить".


VD>Ну, естественно должна быть страничка где эти бинарники видны всем в режиме "только для чтения".


VD>Если страница будет собственной, то хорошо бы учитывать количество скачиваний.


Открыть на TeamCity гостевой доступ и настроить правильно права доступа
Re[6]: Ночные сборки на Github
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.11.11 22:23
Оценка:
Здравствуйте, BogdanMart, Вы писали:

VD>>Хватило бы чтобы раз в день сервер делал проверку и слал сообщения на мыло.

BM>Тогда не так ясно на коком комите произошел трабл.

Те кто этим занимаются и так разберутся. Ошибка все равно не по комиту ищется, а по симптомам. Если надо переключиться на коразные комиты не долго. Их же не много будет.

BM>Сервера же нынче толстые. + можно сделать чтобы добровольцы подняли у себя по агенту для билда


Сервер у нас одни РСДН-овский. Он и так крутит кучу всего на своих восьми камнях. А сборка немерла жрет проц очень не хило.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ночные сборки на Github
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.11.11 22:24
Оценка:
Здравствуйте, BogdanMart, Вы писали:

VD>>Будет еще круче, если там же будет список ранее размещенных версий и у каждой будет кнопка "удалить".

VD>>Ну, естественно должна быть страничка где эти бинарники видны всем в режиме "только для чтения".
VD>>Если страница будет собственной, то хорошо бы учитывать количество скачиваний.

BM>Открыть на TeamCity гостевой доступ и настроить правильно права доступа


У TeamCity слишком перегруженный интерфейс. Я бы предпочел простенькую самопальную страницу или вообще гитхабовский даунлоад.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 22.11.11 05:08
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хватило бы чтобы раз в день сервер делал проверку и слал сообщения на мыло.


Это уже сейчас есть. Если ночной билд будет сломан, то на мыло тебе, мне и Ziaw'у придет уведомление.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[5]: Ночные сборки на Github
От: Ziaw Россия  
Дата: 22.11.11 05:30
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Открыть на TeamCity гостевой доступ и настроить правильно права доступа


Он открыт. http://tc.nemerle.org
Re[6]: Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 22.11.11 05:32
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, BogdanMart, Вы писали:


BM>>Открыть на TeamCity гостевой доступ и настроить правильно права доступа


Z>Он открыт. http://tc.nemerle.org


Я свободную регистрацию там пока закрыл, если что

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[7]: Ночные сборки на Github
От: Ziaw Россия  
Дата: 22.11.11 05:33
Оценка:
Здравствуйте, VladD2, Вы писали:

BM>>Сервера же нынче толстые. + можно сделать чтобы добровольцы подняли у себя по агенту для билда


VD>Сервер у нас одни РСДН-овский. Он и так крутит кучу всего на своих восьми камнях. А сборка немерла жрет проц очень не хило.


Тимсити работает со внешними билд агентами. То есть поднять агет может любой, после того, как мы его авторизуем — этот агет станет доступен для запуска сборок, как и тот, что установлен на rsdn.ru.

Так что если есть добровольцы, можно сделать билд на каждый комит, только на ваших агентах.
Re[6]: Ночные сборки на Github
От: Ziaw Россия  
Дата: 22.11.11 05:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>У TeamCity слишком перегруженный интерфейс. Я бы предпочел простенькую самопальную страницу или вообще гитхабовский даунлоад.


Там кнопочка run видна сразу после входа. То есть запустить билд очень просто.

Вот прямая ссылка на последний билд (надо только нажать login as guest). http://tc.nemerle.org/viewLog.html?buildTypeId=bt2&buildId=lastSuccessful&tab=artifacts
Re[3]: Ночные сборки на Github
От: Ziaw Россия  
Дата: 22.11.11 05:49
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, VladD2, Вы писали:


VD>>А автоматизирвоанный ручной билд с выкладыванием появился? Это более нужная фича.


KV>Сейчас можно зайти в TeamCity и нажать на кнопку "Run" напротив проекта Nemerle. Это запустит внеочередную "ночную" сборку последнего мастера с выкладыванием результатов на гитхаб. Около 20 минут. В принципе, это то, о чем ты спрашиваешь, за исключением одного момента: файлы такой сборки будут удалены с гитхаба при следующем билде и замещены его результатами.


KV>И вот, как правильнее организовать (и надо ли это делать вообще) сборку и выкладывание не "ночных" сборок, с организационной т.з. — был бы рад услышать, т.к. у самого мыслей на этот счет пока нет. Автоматическое формирование ченджлиста сделаю чуть позже, тут тоже надо подумать, как это правильнее закрутить.


У меня тоже нет мыслей как сделать, чтобы было ровно как хочет Влад. С автоматическим чейннджлогом, одной кнопкой на другом сайте и т.п. То есть сделать конечно можно, но работы вагон, а выхлоп не впечатляет, ибо нестандартных ситуаций будет много и систему придется постоянно подпиливать. Либо делать через задницу простые вещи, только чтобы угодить этому автомату. Не верю я в полные автоматы для таких вещей.


Кстати, могу сделать так, чтобы тесты компилятора обрабатывались тимситей как тесты. Для этого надо поправить сообщения о запуске теста в некий формат понимаемый тимсити.

Что это даст. Мы увидим и сможем наблюдать тренд времени запуска каждого теста. С графиками. Это может быть полезно, для определения комита при котором мы получили просадку по скорости компиляции. Или наборот, хотя конечно тесты не очень объективные. При поломке теста мы увидим конкретный упавший тест и его сообщение о поломке. Ну и вывод удачных тестов тоже будет доступен, правда я не знаю зачем он.

Аргумент против: вывод тестов будет слегка некрасив.

##teamcity[testSuiteStarted name='suite.name']
<individual test messages go here>
##teamcity[testSuiteFinished name='suite.name']


Если никто не против видеть такие сообщение и в обычном билде — займусь, там нужен небольшой патч на тестраннер.

Пример вывода тестов и трендов можно увидеть тут: http://teamcity.codebetter.com/viewLog.html?buildId=34105&amp;buildTypeId=bt128&amp;tab=testsInfo (login as guest)
Re[7]: Ночные сборки на Github
От: Ziaw Россия  
Дата: 22.11.11 05:52
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Я свободную регистрацию там пока закрыл, если что


Так для гостя вход свободный. Регистрация не нужна.
Re[4]: Ночные сборки на Github
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 22.11.11 05:56
Оценка: +1
Здравствуйте, Ziaw, Вы писали:

Z>Аргумент против: вывод тестов будет слегка некрасив.


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.