Я пытаюсь настроить непрерывное развертывание для моего проекта Rails. До сих пор я делал следующие шаги:Непрерывное развертывание
- Мое приложение предназначено для Github.
- У меня есть установка Travis CI.
- Я создал промежуточную среду. (www.staging.myappname.com)
- Я создал среду prod. (www.myappname.com)
- Я интегрировал Travis CI и Github.
То, что я пытаюсь достичь.
- Кто-то создает запрос на растяжение.
- Travis CI запускает сборку против запроса на тягу. (эта часть сделана)
- После того, как запрос Pull сливается в главную ветвь, Travis CI снова проведет тест. (эта часть сделана)
- Если тест зеленый, разверните главную ветвь в промежуточную среду. (Я могу сделать это, добавив
deploy
раздел в.travis.yml
файл. Тест - Run против промежуточной среды, если тест проходит затем развернуть мастер филиал в производственной среде. (Я не знаю, как достичь этой части)
Я не уверен, что это правильный способ сделать это или нет. Я прочитал пару сообщений в блоге, и я заметил, что люди создают разные ветви git для постановки и производства. Нужен ли этот подход?
Также я могу легко нажать мой код для промежуточной среды с использованием Travis CI, но я не знаю, как снова запустить тест в промежуточной среде и нажать код для производства. работать против промежуточной среды? Должен ли я сосредоточиться только на тестировании селена для промежуточной среды?
Я могу использовать инструмент, например, codeship
, но они предлагают только 100 сборных/месяц бесплатно, где, как и в Travis, я могу получить неограниченную сборку бесплатно. Это основная причина выбора Travis над кодами.
Так что мой вопрос:
- Am Я на правильном пути?
- Какой тип теста я должен выполнить против промежуточного сервера?
- как развернуть с постановки на производство с использованием Travis CI?
- Нужно ли мне
staging.rb
файл в приложении для моих рельсов? Если да, то как он будет отличаться от файлаproduction.rb
? - Нужно ли создавать различные ветви git для постановки и производства? В настоящее время у меня есть только мастер-ветвь, которую я пытаюсь развернуть как для постановки, так и для производства.
Чтобы улучшить этот пост, я бы попросил вас принять мое предложенное редактирование. Причина, по которой вы выдвигались для отказа, заключалась в том, что я «постоянно редактирую все свои сообщения [sic] для очков». Я хотел бы спросить, в чем проблема с получением очков, улучшая грамматику в вопросах о SO? Примечание [эти рекомендации по мета] (http://meta.stackexchange.com/questions/11474/what-is-the-etiquette-for-modification-posts) показывают, что мое редактирование было полезным. Я просто пытаюсь повысить ясность; Я ценю, когда меня устраивают носители моего второго языка - это то, как мы учимся и становимся лучшими коммуникаторами. – pillravi