
Я работал в составе множества команд, руководил группой и руководил проектами.
За 10 лет работы в качестве разработчика единственное, что привело меня на грань безумия больше, чем что-либо другое, - это среда разработки.
Какую версию какого языка мы собираемся использовать? Какой менеджер версий? Какая версия диспетчера версий? Как мы управляем зависимостями? Куда они идут? Какую базу данных мы используем? Как мы запускаем сервер? Тесты? Почему это не работает?
«Не знаю, у меня это работает…»
Докер

Docker - отличный способ создать согласованные среды. Если вы еще не знакомы с ним, Собственный веб-сайт Docker дает прекрасное объяснение того, что он делает:
Контейнеры Docker заключают часть программного обеспечения в полную файловую систему, которая содержит все необходимое для запуска: код, среду выполнения, системные инструменты, системные библиотеки - все, что можно установить на сервере. Это гарантирует, что программное обеспечение всегда будет работать одинаково, независимо от его среды.
Контейнеры включают приложение и все его зависимости, но разделяют ядро с другими контейнерами, выполняя как изолированные процессы в пользовательском пространстве в операционной системе хоста. Контейнеры Docker не привязаны к какой-либо конкретной инфраструктуре: они работают на любом компьютере, в любой инфраструктуре и в любом облаке.
Эта контейнеризация позволяет легко создавать среды приложений, которые не наступают друг другу в пятки. В каждой среде есть именно то, что нужно для изолированного запуска этого приложения.
Единственный потенциальный недостаток Docker заключается в том, что для того, чтобы чувствовать себя комфортно с ним, вам нужно не только узнать, как работает Docker, но и иметь некоторый уровень знакомства с концепциями Linux и DevOps, такими как контейнеры, сети и т. Д.
Это неплохо, но не всем по силам. Благодаря тому, что Docker может предложить, идея сделать его более доступным для разработчиков любого уровня подготовки становится довольно популярной.
Nanobox - новинка в постоянно растущем списке инструментов, пытающихся сделать Docker доступным для всех. Он разработан с учетом потребностей разработчиков приложений и предоставляет простой способ использования Docker для создания согласованных, многоразовых сред, позволяя разработчикам приложений сосредоточиться на создании приложений, а не инфраструктуры.
Настройте простую среду разработки
Поместите простой файл конфигурации, называемый boxfile.yml, в корень любого проекта:
# boxfile.yml run.config: engine: nodejs # php, python, ruby, golang, elixir, etc.
Теперь запустите nanobox run; Это будет использовать Docker для создания мгновенной изолированной среды разработки для вашего проекта и перетащить вас в консоль, где смонтирован код вашего проекта.
Настроить производственную среду
Реальность такова, что никакая среда не может быть такой простой. Если вы планируете провести что-то значимое, вам понадобится гораздо больше.
В следующем примере будет подготовлена вся среда разработки ruby on rails производственного уровня (которую можно даже протестировать в производственных условиях с помощью nanobox deploy dry-run).
Промыть и повторить
Независимо от того, на скольких машинах вы запускаете приложение, результат всегда будет одним и тем же: согласованная среда разработки, которая просто работает.



Хакерский полдень - это то, с чего хакеры начинают свои дни. Мы часть семьи @AMI. Сейчас мы принимаем заявки и рады обсуждать рекламные и спонсорские возможности.
Если вам понравился этот рассказ, мы рекомендуем прочитать наши Последние технические истории и Современные технические истории. До следующего раза не воспринимайте реалии мира как должное!
