2

Я пытаюсь настроить непрерывное развертывание для моего проекта Rails. До сих пор я делал следующие шаги:Непрерывное развертывание

  1. Мое приложение предназначено для Github.
  2. У меня есть установка Travis CI.
  3. Я создал промежуточную среду. (www.staging.myappname.com)
  4. Я создал среду prod. (www.myappname.com)
  5. Я интегрировал Travis CI и Github.

То, что я пытаюсь достичь.

  1. Кто-то создает запрос на растяжение.
  2. Travis CI запускает сборку против запроса на тягу. (эта часть сделана)
  3. После того, как запрос Pull сливается в главную ветвь, Travis CI снова проведет тест. (эта часть сделана)
  4. Если тест зеленый, разверните главную ветвь в промежуточную среду. (Я могу сделать это, добавив deploy раздел в .travis.yml файл. Тест
  5. Run против промежуточной среды, если тест проходит затем развернуть мастер филиал в производственной среде. (Я не знаю, как достичь этой части)

Я не уверен, что это правильный способ сделать это или нет. Я прочитал пару сообщений в блоге, и я заметил, что люди создают разные ветви git для постановки и производства. Нужен ли этот подход?

Также я могу легко нажать мой код для промежуточной среды с использованием Travis CI, но я не знаю, как снова запустить тест в промежуточной среде и нажать код для производства. работать против промежуточной среды? Должен ли я сосредоточиться только на тестировании селена для промежуточной среды?

Я могу использовать инструмент, например, codeship, но они предлагают только 100 сборных/месяц бесплатно, где, как и в Travis, я могу получить неограниченную сборку бесплатно. Это основная причина выбора Travis над кодами.

Так что мой вопрос:

  1. Am Я на правильном пути?
  2. Какой тип теста я должен выполнить против промежуточного сервера?
  3. как развернуть с постановки на производство с использованием Travis CI?
  4. Нужно ли мне staging.rb файл в приложении для моих рельсов? Если да, то как он будет отличаться от файла production.rb?
  5. Нужно ли создавать различные ветви git для постановки и производства? В настоящее время у меня есть только мастер-ветвь, которую я пытаюсь развернуть как для постановки, так и для производства.
+0

Чтобы улучшить этот пост, я бы попросил вас принять мое предложенное редактирование. Причина, по которой вы выдвигались для отказа, заключалась в том, что я «постоянно редактирую все свои сообщения [sic] для очков». Я хотел бы спросить, в чем проблема с получением очков, улучшая грамматику в вопросах о SO? Примечание [эти рекомендации по мета] (http://meta.stackexchange.com/questions/11474/what-is-the-etiquette-for-modification-posts) показывают, что мое редактирование было полезным. Я просто пытаюсь повысить ясность; Я ценю, когда меня устраивают носители моего второго языка - это то, как мы учимся и становимся лучшими коммуникаторами. – pillravi

ответ

3

Обычно люди имеют 2 ветви, одна для постановки/развития, который разворачивает на промежуточном сервере и один для продукции, которая развертывается в отрасли производства

как только ваша постановка филиал протестирован и готов к развертыванию на производстве, вы можете создать запрос на перенос от этапа к мастеру (или просто объединить его локально и нажать его), а затем сервер CI должен обнаружить новую версию на главной ветке, а затем развернуть ее на рабочий сервер.

Смежные вопросы