Контроль Версий Сборка Тестирование
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
foxdev_7:контроль_версий_сборка_тестирование [15.01.2019 07:31] admin Approved(admin 2019/01/15 07:31) |
foxdev_7:контроль_версий_сборка_тестирование [20.05.2019 15:18] (текущий) |
||
---|---|---|---|
Строка 35: | Строка 35: | ||
Все изменения автоматически попадают слева направо скриптами системы сборки.\\ | Все изменения автоматически попадают слева направо скриптами системы сборки.\\ | ||
Версия testing включает все изменения и все коммиты продукта, и этот бранч тестируется по кругу, чтобы находить кросбаги заранее.\\ | Версия testing включает все изменения и все коммиты продукта, и этот бранч тестируется по кругу, чтобы находить кросбаги заранее.\\ | ||
- | Изменения справа налево делаются через мерджреквест другому программисту.\\ | + | Изменения справа налево делаются через мердж реквест другому программисту.\\ |
- | Изменения из integra в devel и из devel в master делаются или ментейнером или релизменеджером строго по правилам выпуска официальной версии.\\ | + | Изменения из integra в devel и из devel в master делаются или ментейнером или релиз-менеджером строго по правилам выпуска официальной версии.\\ |
Пример: | Пример: | ||
- kolko разрабатывает фичу в ветке kolko1, это может быть много коммитов и несколько git repo. | - kolko разрабатывает фичу в ветке kolko1, это может быть много коммитов и несколько git repo. | ||
- собирает свою полную версию продукта kolko1 и тестирует ее. | - собирает свою полную версию продукта kolko1 и тестирует ее. | ||
- | - делает мерджреквест в integra на обычного программиста dima. | + | - делает мердж реквест в integra на обычного программиста dima. |
- | - dima смотрит все ли понятно и нет ли явных проблем в коде, при необходимости общаются через комментарии gitlab в мерджреквесте. | + | - dima смотрит все ли понятно и нет ли явных проблем в коде, при необходимости общаются через комментарии gitlab в мердж реквесте. |
- dima принимает изменения из kolko1 в integra. | - dima принимает изменения из kolko1 в integra. | ||
- integra обкатывается на новых клиентах которым нужны новые фичи. | - integra обкатывается на новых клиентах которым нужны новые фичи. | ||
- за месяц накапливаются все новые фишки в ветке integra(обычно это 4 недели = 4 спринта). | - за месяц накапливаются все новые фишки в ветке integra(обычно это 4 недели = 4 спринта). | ||
- | - раз в месяц скрипт сборки или руками делается мерджреквест из integra в devel на ментейнером(или релиз менеджера) | + | - раз в месяц скрипт сборки или руками делается мердж реквест из integra в devel на ментейнером(или релиз менеджера) |
- | - после просмотра кода мерджреквест принимается в devel выпускается новая версия devel | + | - после просмотра кода мердж реквест принимается в devel выпускается новая версия devel |
- | - раз в несколько месяцев выпускается master мерджреквестом из devel. | + | - раз в несколько месяцев выпускается master мердж реквестом из devel. |
Если есть критичные изменения они вносятся в hotfix и автоматом попадают в integra и ветки разработчиков.\\ | Если есть критичные изменения они вносятся в hotfix и автоматом попадают в integra и ветки разработчиков.\\ | ||
Утром ментейнер проверяет и вносит hotfix в devel. | Утром ментейнер проверяет и вносит hotfix в devel. | ||
Строка 69: | Строка 69: | ||
Алгоритм: | Алгоритм: | ||
- Текущие версии master=8.2.7 devel=8.3.1 integra=8.4.0 | - Текущие версии master=8.2.7 devel=8.3.1 integra=8.4.0 | ||
- | - Выпуск master. Мейнтейнер просматривает мерджреквест из devel в master на предмет подозрительного и мусора. Если все ОК принимает мердж. Мейнтейнер устанавливает руками верcию master равную devel, и release увеличивает на+1. Пример devel=8.3._1_ master=8.3._2_ | + | - Выпуск master. Мейнтейнер просматривает мердж реквест из devel в master на предмет подозрительного и мусора. Если все ОК принимает мердж. Мейнтейнер устанавливает руками верcию master равную devel, и release увеличивает на+1. Пример devel=8.3._1_ master=8.3._2_ |
- | - Выпуск devel. Мейнтейнер просматривает мерджреквест из integra в devel на предмет подозрительного и мусора. Если все ОК принимает мердж. Мейнтейнер устанавливает руками верcию devel равную integra, и release увеличивает на+1. integra=8.4._0_ devel=8.4._1_ | + | - Выпуск devel. Мейнтейнер просматривает мердж реквест из integra в devel на предмет подозрительного и мусора. Если все ОК принимает мердж. Мейнтейнер устанавливает руками верcию devel равную integra, и release увеличивает на+1. integra=8.4._0_ devel=8.4._1_ |
- Запускаем новую integra 8.5.0 | - Запускаем новую integra 8.5.0 | ||
Строка 76: | Строка 76: | ||
* Исправления для devel разработчики пушат в hotfix и они автоматом попадают в interga и далее другим разработчикам, но не попадают в devel. | * Исправления для devel разработчики пушат в hotfix и они автоматом попадают в interga и далее другим разработчикам, но не попадают в devel. | ||
- | * Мейнтейнер раз в день просматривает мерджреквест из hotfix в devel на предмет мусора и подозрительных вещей. | + | * Мейнтейнер раз в день просматривает мердж реквест из hotfix в devel на предмет мусора и подозрительных вещей. |
* Если все ОК принимает мердж и release увеличивает на+1. Пример devel=8.3._2_ master=8.3._3_ | * Если все ОК принимает мердж и release увеличивает на+1. Пример devel=8.3._2_ master=8.3._3_ | ||
* Если изменения требуются и для master можно сделать черипик | * Если изменения требуются и для master можно сделать черипик | ||
Строка 105: | Строка 105: | ||
* Блокировка обновления разрешена: на 2 часа - для известного бага, на 2 дня - для плавающего, который не удается установить. При просрочке сразу звоним руководителю. В блокировке обязательно указываем почему заблокировано и кто заблокировал и дату. | * Блокировка обновления разрешена: на 2 часа - для известного бага, на 2 дня - для плавающего, который не удается установить. При просрочке сразу звоним руководителю. В блокировке обязательно указываем почему заблокировано и кто заблокировал и дату. | ||
- | ==== Прием изменений и codereview через мерджреквест ==== | + | ==== Прием изменений и codereview через мердж реквест ==== |
* Разработчики разрабатывают все в своих ветка их должно быть ограниченное колво 2-10, но как минимум две ${login}1 ${login}2 | * Разработчики разрабатывают все в своих ветка их должно быть ограниченное колво 2-10, но как минимум две ${login}1 ${login}2 | ||
* Для каждой версии должны быть подняты виртуалки makedistro и autotest на машине разработчика средствами утилиты crab | * Для каждой версии должны быть подняты виртуалки makedistro и autotest на машине разработчика средствами утилиты crab | ||
- | * Все коммиты попадают из версии разработчика в integra через мерджреквест к другому разработчику, который делает codereview. | + | * Все коммиты попадают из версии разработчика в integra через мердж реквест к другому разработчику, который делает codereview. |
==== Выкладывание master новых оф версий ==== | ==== Выкладывание master новых оф версий ==== | ||
Строка 115: | Строка 115: | ||
Но все зависит от продуктов.\\ | Но все зависит от продуктов.\\ | ||
- | ==== todo Тестирование ==== | + | [[foxdev_7:тестирование|Читать далее: Развертывание программ или сервисов]] |
- | вынесено отдельно | + | |
- | [[http://opencarbon.ru/open_carbon_7:тестирование]] | + | |
- | + | ||
- | [[:open_carbon_7:развертывание|Читать далее: Развертывание программ или сервисов]] | + | |