Я работаю на веб-сайте PHP, где я только что добавил переключатель для того, в какой среде он работает - development
, когда он работает на моем локальном сайте, и production
, когда он работает в Интернете. хост:
<?php
define('ENV','development');
//or
define('ENV','production');
У меня есть сайт под VC с Mercurial, и обычно я просто развертываю свой сайт с hg push
(сервер тоже запускает hg), однако, с добавлением этого переключателя, «рабочий» сайт всегда будет отличаться от « разработки », в котором развернутая версия всегда будет иметь значение production
вместо development
.
Это означает, что мой процесс развертывания начинается с
- Разработка
- Тест
hg commit -m "Made changes"
hg push
ssh host hg update
- Перейти к 1.
до
- Разработка
- Test
hg commit -m "Made changes"
- Изменить
development
на production
- `hg commit -m" dev -> prod "
hg push
ssh host hg update
- (позже :) Изменить
production
-> development
hg commit -m "prod -> dev"
- Перейти к 1.
Что явно не здорово.
Есть ли какой-нибудь способ изолировать одно от другого, чтобы работающий сайт всегда был установлен на production
, а моя локальная копия - на development
?