-
Notifications
You must be signed in to change notification settings - Fork 4
Руководство разрабочика
EvilBeaver edited this page Feb 4, 2015
·
15 revisions
#Оглавление
[TOC]
- мы работаем через личные "форки", поэтому для разработки вам понадобится сделать FORK проекта
- сделайте личный fork и добавьте в него отдельным внешним репозиторием главный репозиторий - для удобства назовите его "base" или "upstream"
- все свои изменения помещайте вначале в личный fork
- master - стабильный код выпущенного релиза
- develop - код будущего релиза, находящегося в активной разработке.
- feature/* - код взятых в работу задач по созданию новой функциональности или рефакторингу существующей
- hotfix/* - код исправлений стабильного релиза, в случае если в релизе выявляются ОЧЕНЬ критичные ошибки
- 2.0 Enterprise - ветка планомерного и неблокирующего рефакторинга архитектуры проекта. Целью ветки является incorporate alien technology.
- мы работаем по процессу, который известен как git-flow. Неплохое описание этого процесса можно почитать по ссылкам:
- для удобства используйте программу SourceTree и инициализируйте GitFlow в только что склонированный личный fork
- при начале работы над новой функциональностью инициализируйте новую ветку по формату feature/ на базе текущей ветки develop (в git-flow программы SourceTree это выполняется автоматически)
- не закрывайте ветку функциональности, пока Ваш pull-request не будет утвержден.
- при изменении поведения языка сначала пишите приемочные тесты на языке 1C/OneScript в формате xUnitFor1C. Такая методика работы называется TDD (Test Driven Development)
- Организация тестирования описана в Wiki организация тестирования
- примеры тестов находятся в каталоге .\tests репозитория и на Wiki
- для версии 2.0 Enterprise также используйте стандартный фрэймворк MSTest - примеры можно просмотреть в отдельной ветке нашего репозитория
- при подаче pull-request'а имя вашей ветки разработки должно соответствовать целевой в головном репозитории
- если вы работает над веткой feature/some-feature - целевой веткой тоже должна являться feature/some-feature
- использование целевой ветки develop запрещено. такой pull-request не будет приниматься.
- каждый pull-request отрабатывает наш CI сервер на предмет стабильности по следующим шагам - Clean;Build;Tests;CreateInstall; и еще несколько специфичных шагов.
- Ваш pull-request может быть просмотрен и прокомментирован, поэтому отслеживайте изменения вашего pull-request
- Инициатор принятия вашего pull-request сливает (выполняет merge) из вашей ветки в ветку develop основного репозитария. После слияния ваш pull-request автоматически закрывается.
- msgit
- Visual Studio 2013 (minimal: Express) with MSBuild v.12
- InnoSetup v.5 (для редактирования инсталлятора)
- SourceTree (или другой клиент git)
- MSBuild Comunity Extension Pack v1.4
- WiX Toolset
если всё установлено правильно, то проект должен собираться за один шаг следующей командой:
#!shell
$git clone https://bitbucket.org/<UsernameFork>/1script/ ./My-Fork-Of-1Script
$cd My-Fork-Of-1Script
$%MSBUILD_PATH%\MSBuild.exe ./Build.csproj
успешным результатом является:
- каталог ./dist
- файл ./dist/OneScript--setup.exe
Отдельно существуют следующие команды:
генерация новой версии, при начале работы над новым релизом
#!shell
$%MSBUILD_PATH%\MSBuild.exe ./Build.csproj /t:VersionGenerate
создание архива библиотек и exe файлов
#!shell
$%MSBUILD_PATH%\MSBuild.exe ./BuildAll.csproj /t:CreateZipForUpdateDll
запуск приёмочных тестов в формате xUnit
#!shell
$%MSBUILD_PATH%\ MSBuild.exe ./BuildAll.csproj /t:xUnitTest
#!c#
//TODO
#!c#
//TODO
Ждём Ваших pull request'ов, code review и issue request's