Как хостинг кода работает с промежуточной средой

До сих пор мы все размещали свои ртутные репозитории и загружали напрямую друг друга с помощью hg serve. После проверки кода QA отправляет его на наш сервер веб-разработки, который функционирует как промежуточная среда. Приложение (php web) еще раз тестируется там, прежде чем оно будет запущено в производство.

Hg serve не всегда надежен (например, когда сервер, с которого вы хотите получать данные, не работает!), поэтому мы думаем переключиться на хостинг кода (например, BitBucket). Таким образом, у всех нас будут свои собственные учетные записи, и у сервера веб-разработки тоже будет учетная запись... Но после того, как QA отправит в репозиторий веб-разработчика, как изменения попадают обратно на физический сервер веб-разработки? Кто-то заходит на сервер, чтобы вытащить их? Это звучит не так...

Альтернативой, которая у меня была, является то, что репозиторий сервера webdev вообще не размещается, а QA отправляет напрямую на сервер с помощью ssh. Это то, что люди делают?

Я здесь новичок, поэтому не стесняйтесь исправлять любые неправильные предположения, и я очень ценю вашу помощь!


person esther h    schedule 23.01.2012    source источник


Ответы (1)


Ваша установка звучит нормально. Чтобы получить код с вашего хоста на ваш сервер, вы можете либо

  • Периодически опрашивайте репозиторий. Достаточно просто запускать hg pull --update каждые 10 минут. Это довольно дешево, так как Mercurial быстро определит, когда нет ничего нового.

  • Инициировать извлечение с сайта хостинга. Многие сайты (включая Bitbucket) позволяют выполнять некоторые действия при отправке набора изменений на сайт. Bitbucket называет эти действия "услугами".

    Они предлагают интеграцию со многими онлайн-инструментами, а также имеют общий Служба POST, которую вы можете использовать. когда вы включите его, Bitbucket просто свяжется с веб-адресом по вашему выбору при отправке набора изменений. Затем вы должны создать сценарий в этом месте, который будет запускаться hg pull --update на вашем сервере при вызове сценария.

person Martin Geisler    schedule 23.01.2012