|
|
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь из обитателей форума использует автоматизированные сборки (да, запуск .bat-ника - это тоже оно)? Или хотя бы про сборку под разные версии Delphi. Расскажите про свой опыт, используемые инструменты (какой билд-сервер, на чём тесты, кто отчёты анализирует, есть ли сбор каких-либо метрик, code coverage, как обрабатываются отчёты, как давно это работает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 00:13 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
deboseКто-нибудь из обитателей форума использует автоматизированные сборки (да, запуск .bat-ника - это тоже оно)? Это ж касается только тех, кто пилит что-то для самих разработчиков. Таких тут вроде не так уж и много... Можно на пальце одной руки пересчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 08:55 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Вместо батников использую Apache Ant для автоматической сборки продуктов в продакшен. Но запуск вручную (без билд-сервера) и без тестов. Ant -- тот еще фрукт, много подводных камней и нюансов работы, громозкий xml-синтаксис. Прямо привет из нулевых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 09:30 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
debose, Набор батников. Батники генерируют (слишком громко сказано - тупой вывод строк в файл) DPK под нужную версию. Потом - запуск DCC32 из установленных. Самая младшая версия - D6. Ну и большой INCLUDE файл с директивами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 09:39 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
debose, У нас есть сервер сборки. Сборки запускаются автоматически: а) при коммите - чисто чтобы проверить, не забыл ли программист чего закомитить в SCM. В случае ошибки сборки - сразу генерируется письмо, мол build failed; б) ночные сборки, которые выкладываются на фтп и доступны для скачивания пользователям. Все предупреждения компилятора, хинты, метрики и прочее - остаются на совести программистов (у нас их не так уж и много, пока не доросли до автоматизации этого) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 09:43 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
wadmanМожно на пальце одной руки пересчитать. На пальцах одного токаря. gunsmoker, asviridenkov, Dmitry Arefiev, может ещё кто. Я пользуюсь TeamCity, но только для базы данных. Из тестов только собралось/не собралось. Для дельфи хотел как-то в TFS разобраться с BuildServer, но времени нет, тем более для этого нужно гонять админов крутить что-то на самом сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 09:45 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
delphinotes, Кстати, вопрос не в тему - у вас GExperts совместно с CnPack нормально живут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 09:51 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
DarkMaster, Конфликты были, но я потом в CNPack почти всё по отключал. Сейчас использую: -Bookmark Browser -Project Extension -Procedure List (это он включает тулбар в редакторе, но я пользуюсь лишь кнопками Jump to interface/implementation) -IDE Enhancements Settings -Source Higlight Enhancements (и то в нём только одна галка - Enable Bk Higlight Keyword Structure at Cursor, остальное заметно на глаз как подтормаживает) -Editor Enhancements (тоже не всё) -Constraints Editor Из GExperts активно пользуюсь: -Ctrl+Alt+Up/Down -Grep Search/Replace Ещё он разрешает изменять размеры модальных окон среды (их размер до какой-то версии фиксирован, в Delphi Xe7 это уже не актуально). .. Были мысли создать свой персональный набор расширений (с использованием Delphi AST) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 10:50 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Используем. Без метрик и прочей высоколобой суеты. Из отчетов - сообщения об ошибках сборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 11:30 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Вот совсем свежая статья о том, как в RemObjects организовали автоматическую сборку всех своих продуктов с нуля на виртуальных машинах амазона (в т.ч. и делфи). Так сказать, пример серьезного подхода: About our Build System Infrastructure, CI2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 16:09 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
delphinotesdebose, У нас есть сервер сборки. Сборки запускаются автоматически: а) при коммите - чисто чтобы проверить, не забыл ли программист чего закомитить в SCM. В случае ошибки сборки - сразу генерируется письмо, мол build failed; Все предупреждения компилятора, хинты, метрики и прочее - остаются на совести программистов (у нас их не так уж и много, пока не доросли до автоматизации этого) Интересно, спасибо. Я так понимаю, что батник использует msbuild для сборки. А msbuild конфиги (.dproj) там те же самые что и у разработчиков, или какие-то отдельные профили настроены? А сервер сборки - это какой-нибудь jenkins, teamcity, hook на системе контроля версий, что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 17:41 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
DarkMasterdelphinotes, Кстати, вопрос не в тему - у вас GExperts совместно с CnPack нормально живут? У меня нормально. Еще и DdevExtensions и MMX. На D6 и D2010, и XE. Много лет уже. В CnPacks отключил плагин с оптимизациями. Ну и на D2010 иногда с CnPack-овским автокомплит (Alt+вниз) не запускается. Ну и кое-где пришлось горячие клавиши под себя настроить (пересекаются). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 17:45 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
deboseЯ так понимаю, что батник использует msbuild для сборки. Именно его. Дёргается как-то так: Код: powershell 1. deboseА msbuild конфиги (.dproj) там те же самые что и у разработчиков, или какие-то отдельные профили настроены? Я специально настраивал всё так, чтобы на машине у разработчика можно было собирать релизные сборки. В Delphi7 (и ниже) - да, там была маята, там переключение между конфигами было через одно место (был отдельный батник, который формировал dcc32.cfg и вызывался dcc32.exe напрямую). В Delphi2010 - очень удобно в msbuild передать dproj и config. Конфигов у нас несколько: - Release, именно он используется в серверной сборке и в него компануется EurekaLog - Debug, в основном он используется программистами - Debug With Memory Leak Logging (обычный + FullDebugMode в FastMM) - и ещё один для внутренних целей. И все они гибко настраиваются через option set'ы - фишка классная, но IDE их иногда (при правке из IDE) портит. deboseА сервер сборки - это какой-нибудь jenkins, teamcity, hook на системе контроля версий, что-то еще? Координатором сборок у нас используется hudson , сборка Delphi-приложений - на виндовой тачке (раньше была реальная, сейчас - виртуальная). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 20:47 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
delphinotesсборка Delphi-приложений - на виндовой тачке (раньше была реальная, сейчас - виртуальная). Хотел написать, что на виндовой тачке установлена "голая" Delphi, и всё. Все исходники, в т.ч. сторонние компоненты - есть в SCM, для сборки приложений нет необходимости их устанавливать (и постоянно переустанавливать при обновлении) в среду. Также пути дополнительно прописывать не надо - все необходимые пути прописаны в двух местах: -пути к сторонним библиотекам/компонентам задаются доп. батником как переменная среды окружения -пути к нашим библиотекам - задаются в .opset-файлах и .dproj-файлах (как относительные пути от каталога проекта) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 20:56 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
FinalBuilder'ом собираю. Там всё - выгрузка из svn, сборка, генерация лицензий, информации о версии, локализационной dll и электронной подписи, сборка инсталлятора. Т.е. полный пакет. Собираются "официальные версии", любые сборки у девелоперов - отладочные. Данные по клиенту и доступным лицензиям автоматом грузятся из redmine, генерится в процессе сборки файл с define'ами. Менеджеры сами заводят клиентов, сами список купленных фич и рабочих станций ставят, а скрипт собирает. Надо только выбрать клиента и релиз. Запускают сборку не программисты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 23:44 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Michael Longneck, очень толково. FInalBuilder - полная версия используется? Сборка только для одной версии Delphi? А автоматом при коммите ничего нигде не собирается чтобы проверить не поломалось ли чего этим коммитом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 23:54 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Сейчас для двух, но мы поддерживаем релизы (ежемесячные) только полгода, а версию дельфей меняем не чаще раза в год( на деле реже). Автоматом не собирается - смысла нет. Проект собирается 30 сек, каждый сам себе может собрать. Коммиты обычно короткие, только я как архитект быает по полпроекта коммичу. Тестов нет. Тему с анализатором прорабатываю, но код там такой что и без анализатора есть что разгребать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2015, 00:01 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Может, кому пригодится Continuous integration with SVN, Jenkins and DUnit (Delphi) with Craig Chapman - CodeRage XI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 13:03 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Уже 2017-й заканчивается, а Embarcadero Technologies до сих пор в 1080p не научилась скрикасты писать, стыдоба позорная :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 16:37 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Уже 2017-й заканчивается, а кто-то все еще юзает SVN )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 11:13 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Василий №2, а что правильно было бы юзать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 11:47 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
Василий №2Уже 2017-й заканчивается, а кто-то все еще юзает SVN )) Я CVS использую и не жужжу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 12:45 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 13:06 |
|
||
|
Сборка проектов с прогоном тестов, статическим анализом, сбором метрик и проч.
|
|||
|---|---|---|---|
|
#18+
X11, git, mercurial... вопрос вкусовщины/холиварный, но после гита свн мне лично кажется очень неуклюжим. schi, соболезную... хотя всегда ведь должны быть мыши-кактусофаги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39013013&tid=2041468]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 482ms |

| 0 / 0 |
