Я работаю в небольшой команде, занимающейся веб-сайтами и веб-приложениями. У нас есть сервер разработки локально, который настроен идентично нашим стандартным рабочим серверам, и я хотел бы интегрировать Git в наш рабочий процесс. В настоящее время я использую Gitlab для размещения и доступа к репозиториям.
Как я себе это представляю:
- вытащить из центрального хранилища
- развиваться локально
- push to dev server
- тест
- слияния
- дс
- упаковка и доставка на производственный сервер
Мой вопрос касается перехода на стадию разработки сервера. Я хотел бы иметь возможность отправить ветку на сервер разработки, а затем сразу же просмотреть эту ветку в браузере - не исходный код, а сам сайт.
Существует ли собственное программное обеспечение, которое можно использовать для этого?
Как я уже сказал, я сейчас использую Gitlab. Я попробовал Gitorious (слишком много для настройки), Girocco, git-php и не смог заставить их работать на нашем сервере разработки, по крайней мере, не изменив их, что лишает смысла иметь одинаковые dev и рабочие серверы.
Этот вопрос основан на моей работоспособности. Если мой вопрос станет спорным из-за плохого рабочего процесса, я был бы рад, если бы в моих рабочих процессах были указаны ошибки.
Обновление: Мы в основном разрабатываем на PHP (различные фреймворки и CMS), и наши серверы используют Apache за Nginx на Ubuntu 10.04. Разные разработчики находятся в разных офисах в одном здании, но в разных сетях. Хотя мы не можем напрямую подключаться к компьютерам друг друга, мы все можем получить доступ к серверу dev через любой порт.
Обновление X2:
Ответ VonC прояснил большинство вопросов, которые у меня есть, но, поняв это немного лучше, я бы хотел задать более конкретный вопрос:
Поскольку я использую gitolite (Gitlab построен на этом) и поскольку gitolite хранит пустые репозитории, при отправке ветки на сервер разработки я не могу просматривать сайт на сервере dev так, как мог бы, если бы там было были рабочие папки. Хотя я мог использовать SSH в / var / www, git init
и git clone git@127.0.0.1...
сервера разработки из чистого репозитория gitolite, я бы предпочел, чтобы это делалось автоматически.
Будет ли самый прямой способ сделать это - ловушка после обновления с вышеуказанными командами? Это кажется немного более сложным, чем мне нравится, но я представляю это довольно распространенный вариант использования, так что, возможно, я просто что-то упустил.