Я бы порекомендовал SVN для контроля версий.Он прост, прост в настройке, имеет хороший Windows-клиент (черепаха), если это то, что вы используете, и очень прост для использования небольшими командами разработчиков.
Имейте центральный «сервер разработчика», которыйили 3 разработчика, которые будут размещать SVN-репозиторий.Разработка будет проводиться и тестироваться на локальных машинах и передаваться на сервер dev по мере готовности (в идеале небольшие функции в течение рабочего дня).
Сервер dev также может содержать небольшую установку TeamCity (один проект будет бесплатной версией, я думаю) или какой-либо формой непрерывной интеграции сервера.Это можно легко настроить для запуска сборок, инициируемых фиксацией (поэтому ошибки сборки обнаруживаются немедленно), сборок и развертываний в ночное время (для целей непрерывного тестирования интеграции) и т. Д.
Сам сервер dev также может размещать веб-приложение,Поскольку к нему обращаются лишь очень небольшое количество людей, а перехват ресурсов может быть устно скоординирован, это не обязательно должен быть серьезный механизм.
Теперь ваш вопрос, по-видимому, подразумевает, чтоодна машина (нехватка средств для отдельных сред, разработка в одной среде и т. д.) для всех вас.Все в порядке.Все это может быть размещено на локальной машине.Но благодаря разделению проблем между различными службами (сервером управления исходным кодом, сервером непрерывной интеграции, целевым сервером развертывания) будет легче перенести эти службы на другие машины во время любого будущего роста.
Конечно, это можетвсе будет излишним для ваших нужд.Все в порядке.Уберите TeamCity из уравнения и просто разверните его вручную на локальном компьютере и выполните тестирование оттуда.Ничего страшного, в то время как ваша команда маленькая и достаточно близкая для открытого и устного общения.Но определенно не берите контроль над исходным кодом из уравнения.То, что вы все на одной машине, не означает, что вы не можете наступить друг другу на ноги и взломать код.Если ничего другого, контроль версий предоставляет большой журнал аудита изменений, внесенных в код.Возможно, вы хотите отменить то, что вы делали несколько месяцев назад, или посмотреть, что было до этого, чтобы вспомнить, как вы что-то сделали и т. Д. Даже один разработчик на одной машине в небольшом проекте должен абсолютно использовать систему контроля версий.