Я работал во многих компаниях, каждая из которых имела свой набор сред, в котором у меня больше всего было 5 сред:
1) Локальный: в основном ваша машина.Здесь вы кодируете и тестируете свои изменения, прежде чем даже попросить сверстника о проверке.
2) Dev: Если по какой-то причине вы не можете протестировать свой код локально (в основном это связано с зависимостями): «Мой код содержит neves, скомпилированные в моемна компьютере, но он прекрасно компилируется в Jenkins / Bamboo / Travis "), затем вы помещаете свои изменения в свою функциональную ветку в Git и заставляете Bamboo скомпилировать ее и развернуть на сервере разработки, где вы можете протестировать (вы все еще не уверены, будет ли эторабота, так что пока нет рецензии).
3) Постановка: Вы думаете, что ваш код работает, и вам нравится, как он выглядит.Вы создаете Pull Request для того, чтобы ваши коллеги могли взглянуть на него, прежде чем он будет объединен с главной веткой.Здесь они комментируют, и вы исправляете возможные проблемы, так как вы более уверены в своих изменениях, вы заставляете Bamboo развертывать его в промежуточной среде, где живет более «стабильный» код и более реалистичные данные хранятся в любой базе данных.После развертывания другой разработчик / тестировщик может проверить ваши изменения на самом деле и сделать вас «QA Sign off in Staging Env.»
4) Стабильно: Хорошо, теперь вы в полной мере уверены, что ваши изменения работают, так как вы внедрили в Stagingи ничего не сломалось.Вы объединяете свою ветвь с master, а Bamboo скомпилирует master и развертывает на других наборах серверов в стабильной среде (никто не должен сливаться с master до тех пор, пока вы не завершите развертывание в Production, чтобы избежать слияния не связанных слияний).Эта среда должна быть копией из Production, data, code и условия сервера.Здесь вы показываете свои изменения своему менеджеру, владельцу продукта или ответственному лицу, чтобы проверить вашу работу перед отправкой в производство.Вы получаете окончательное одобрение, все хорошо, вы потные, вы работали 30 дней подряд, чтобы сделать это изменение, ваша жена развелась с вами, но вы очень уверены, что это работает отлично.
5)Производство: где клиенты подключаются для использования услуг компании или для окончательной сборки вашего программного обеспечения для отправки клиентам.С помощью нескольких щелчков в Bamboo вы можете развернуть его на производственных серверах или скомпилировать окончательную сборку.Это зеленый, все вроде бы нормально.Вы проверяете Splunk на наличие ошибок, все хорошо, жизнь хороша, вы выпиваете еще один глоток кофе перед отъездом, вы едете домой и всю ночь спите со своей собакой рядом с вами.
Это счастливый конец, потому что иметьтак много «тестовых» сред гарантируют качество, и никакие изменения не произойдут до тех пор, пока ВСЕ (не только вы) полностью не уверены, что изменения работают.