Как мы контролируем качество работ
Прием заявки
Руководитель отдела разработки принимает Вашу заявку по электронной почте, выясняет все необходимые детали и предоставляет оценку.
Оплата и начало работ
После согласования технического задания и заключения договора, руководитель создает новый проект на git.cart-power.com и передает проект в разработку.
Разработка и контроль кода
Разработчик выполняет необходимые работы, после чего руководитель отдела просматривает весь код и тщательно тестирует модификацию.
Демонстрация
Если проект прошел контроль кода и тестирование, модификации устанавливаются на демонстрационный сервер, где клиент можешь увидеть результат.
Как мы работаем с системой контроля версий

Общие положения


1. В качестве системы контроля версий в компании Cart-Power используется Git. Сервер Git находится на сервере Cart-Power и доступен по адресу git.cart-power.com
2. Систему контроля версий рекомендуется внедрять всем клиентам.
Система контроля версий позволяет решить следующие задачи:
- возможность контроля работы над проектом нескольких специалистов
- возможность контроля работы над проектом специалистов из нескольких компаний
- возможность контроля со стороны менеджера проекта
- Code Review со стороны Cart-Power
- Возможность отслеживания изменений всех изменения и их отката
- возможность контроля со стороны клиента
3. Разработчикам, не знакомым с Git, рекомендуется пройти курс обучения: https://try.github.io/ или https://www.codecademy.com/learn/learn-git

Как должна быть организована работа с Git


Git.cart-power.com - сервер, где хранятся репозитории
Local - локальный сервер разработчика, где он вносит изменения в файлы. И только здесь!
Dev - сервер, куда разработчики Push-ат изменения для того, чтобы протестировать совместную работу выполненных вместе с другими участниками разработок.
Staging - тестовый сервер клиента, где он может протестировать изменения. На staging изменения push-атся только после тщательного тестирования на Dev.
Production - живой сервер клиента, на который изменения push-атся, после подтверждения клиентом, что на Staging все работает как нужно.

Общий порядок работы с Git


1. Разработчик вытягивает последнюю версию проекта с Git себе на локальный компьютер.
2. Разработчик производит необходимые разработки.
3. Разработчик выкатывает изменения на Git. При совершении commit необходимо ОБЯЗАТЕЛЬНО добавлять комментарий к commit, в котором ОБЯЗАТЕЛЬНО должна быть следующая информация: Имя разработчика на английском языке, краткая суть commit. Например: git commit -m 'Fix of error on product page. Alexey Kutyrev'.
4. Разработчик делает pull изменений из Git на сервер Dev.
5. Разработчик тестирует выполненные изменения на сервере Dev и сообщает о готовности руководителю.
6. Руководитель проверяет выполненные работы и делает Code review.
7. Разработчик делает pull изменений из Git на сервер Staging.
8. Разработчик тестирует выполненные изменения на сервере Staging и сообщает о готовности своему руководителю.
9. Руководитель уведомляет клиента о готовности.
10. Клиент тестирует изменения на сервере Staging.
11. После подтверждения со стороны Руководителя, разработчик делает pull изменений из Git на сервер Production.

Строго запрещается

1. Редактировать файлы Dev, Staging, Production
2. Делать commit, в котором перезаписываются строки содержащие неправильную разметку табуляций. Перед началом работы с Git необходимо убедиться, что в текстовом редакторе, который использует разработчик табуляция установлена в 4 пробела. Это относится ко всем типам файлов. Обязательно, если вы видите не стандартную разметку в коде, то сначала приводите код в соответствие стандарту PSR (0,1,2) и делаете коммит без каких-либо своих изменения, а просто правильно размеченный код. После чего уже делаете свои изменения и делаете коммит со своими изменениями.

Запрос доступа к Git


Для запроса доступа к Git необходимо обратиться к менеджеру проекта или написать письмо на sales@cart-power.com
Разработчикам, получившим доступ к Git, необходимо сгенерировать SSH-key и добавить его в своем аккаунте. Без ключа работа с Git будет невозможной.
В Linux ключ генерируется командой: ssh-keygen -t rsa -b 2048 После выполнения команды ключ будет доступен в директории: /home/[USER_NAME]/.ssh и в этой же директории проверить наличие файла config (если нет, то создать) и дописать:
Host *
AddressFamily inet
User akutyrev(Указывайте свой юзер)
StrictHostKeyChecking no
Compression yes
ForwardAgent yes IdentityFile ~/.ssh/id_rsa
KeepAlive yes
ForwardX11Trusted no