|
@@ -0,0 +1,35 @@
|
|
|
+## Сборка
|
|
|
+Сборка осуществляется командой `make HARDWARE=<hw> VERBOSE=1 DEBUG=0 PRINTF=custom MAC=<mac_adr>`
|
|
|
+Пример: `make HARDWARE=bt6711_v1 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DC`
|
|
|
+
|
|
|
+Возможна сборка в докер-контейнере с подготовленным окружением и необходимым тулчейном. Актуальный образ для сборки указан в файле `jenkins-env.groovy` (переменная `buildenvImage`). Полная команда для сборки в таком случае выглядит так:
|
|
|
+```
|
|
|
+git clone https://192.168.24.200:3000/ebalbekova/bt-67xx_universal_hw.git
|
|
|
+cd bt-67xx_universal_hw
|
|
|
+docker run \
|
|
|
+ -ti --rm -v $(pwd):/home/jenkins \
|
|
|
+ 192.168.24.227:8082/docker/stm32-buildenv:v3 \
|
|
|
+ make HARDWARE=bt6711_v1 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DC
|
|
|
+```
|
|
|
+Сборка при помощи докера является предпочтительным способом отладки ПО разработчиком. В этом случае исключены ошибки при несовпадении окружения на ПК разработчика и на сервере автосборки.
|
|
|
+## Ветвление
|
|
|
+Основная ветка для разработки - `master`
|
|
|
+Иные ветки несут вспомогательный (временный) характер для разработки или отладки отдельных функций. Сборка этих веток автоматически не осуществляется.
|
|
|
+## Тегирование
|
|
|
+Все релизы ПО осуществляются по тегам. Теги проставляются только по определенному шаблону.
|
|
|
+Все теги, проставленные не по шаблону, не учитываются системой сборки и несут вспомогательный характер (удобство разработчика)
|
|
|
+
|
|
|
+Для выпуска релиз кандидата нужно проставить тег с префиксом `rc_`:
|
|
|
+`rc_<тип устройства>_<версия>` (Пример: `rc_bt6710_v1.5beta2`)
|
|
|
+
|
|
|
+Для сборки релиза нужно проставить тег с префиксом `release_`:
|
|
|
+`release_<тип устройства>_<версия>` (Пример: `release_bt6710_v1.5`)
|
|
|
+
|
|
|
+Возможно так же оформить отдельно релиз загрузчика (префикс `bootloader_`)<br />
|
|
|
+и релиз сервисной флешки (префикс `service_`)
|
|
|
+
|
|
|
+## Автоматическая сборка
|
|
|
+Сборка осуществляется на сервере Jenkins в пайплайне: http://192.168.24.203:8080/view/BT-67xx/job/bt-67xx_universal_hw/
|
|
|
+Настроены сборки при каждом коммите в ветку `master` и при обнаружении нового тега (независимо от ветки).
|
|
|
+Результаты сборки попадают на сервер Artifactory http://192.168.24.227:8082/ui/native/firmware/BT-67xx/bt67xx_universal_hw/
|
|
|
+Все настройки для автоматической сборки (с подробным описанием) хранятся в файле `jenkins-env.groovy` в корне данного репозитория. По окончании сборки релиза всем указанным в настройках адресатам рассылается информационное письмо со ссылкой на хранилище результатам сборки. Так же информационное письмо отправляется разработчику при неудачных сборках очередного коммита в основную ветку.
|