Skip to content
This repository has been archived by the owner on Feb 2, 2022. It is now read-only.

Commit

Permalink
Merge pull request #7 from pn-y/review_development.ru.yml
Browse files Browse the repository at this point in the history
fix typo in development.ru.yml
  • Loading branch information
mokevnin committed Feb 23, 2016
2 parents c77437b + 77baf7a commit e97afa7
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions pages/development.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,47 +17,47 @@ description: |
Идеальное рабочее окружение соответствует боевой среде (той, куда вы деплоитесь), это не всегда возможно, но на то оно и идеальное.
Первое, чего необходимо добиться, это изоляция окружения от всего, что не связано с самим проектом.
Решается это виртуализацией. Стандартный подход на рабочих машинах это
Решается это виртуализацией. Стандартный подход на рабочих машинах - это
использование программной виртуализации, при которой специальное программное обеспечение создает
и запускает гостевую операционную систему внутри хост-системы, например, `Virtualbox`. Выглядит этот как обычная программа,
то есть отдельное окно, внутри которого запущена полноценная операционная система.
Это настолько распространенный вариант и задача, что появился на свет такой инструмент как `Vagrant`.
По сути, `vagrant` это утилита командной строки, которая упрощает управление виртуальными машинами для разработки.
По сути, `vagrant` - это утилита командной строки, которая упрощает управление виртуальными машинами для разработки.
То есть сама она не занимается виртуализацией, а требует наличия в системе одного из поддерживаемых средств виртуализации.
К ним относятся `VirtualBox`, `Parallels Desktop`, `VMware Workstation`, `Docker` и даже облачные провайдеры, такие как `Amazon EC2`.
Подход, который предлагает `Vagrant` это "виртуальная машина на проект", что правильно, потому что у каждого проекта свое окружение.
Подход, который предлагает `Vagrant`, это "виртуальная машина на проект", что правильно, потому что у каждого проекта свое окружение.
Очень важно то что в отличие от просто виртуализации, когда вы запускаете операционную систему, как программу, и полностью работаете
внутри нее, вагрант подразумевает только консольный доступ к виртуальной машине. Сама разработка, при этом, происходит на хост машине.
По сути вагрант используется как способ "запустить код в изолированном окружении", а не как способ разработки. По этой причине
боксы которые используются внутри вагранта, не имеют графического интерфейса.
Очень важно то, что в отличие от просто виртуализации, когда вы запускаете операционную систему, как программу, и полностью работаете
внутри нее, вагрант подразумевает только консольный доступ к виртуальной машине. Сама разработка при этом происходит на хост машине.
По сути, вагрант используется как способ "запустить код в изолированном окружении", а не как способ разработки. По этой причине
боксы, которые используются внутри вагранта, не имеют графического интерфейса.
Кроме этого вагрант из коробки предоставляет множество полезных функций, которые вам пришлось бы руками настраивать используя
виртуализацию напрямую. Из ключевых это:
* Единый реестр боксов. Вам нужно только указать правильный, а вагрант сам его ставит, настраивает и запускает.
* Автоматический шаринг директории запуска (обычно это директория с проектом) с виртуальной
машиной, то есть код автоматически синхронизируется между хост ОС и гостевой ОС;
* Легкая настройка проброса портов. Например вы стартуете сервер внутри вагранта (виртуальной машины), а доступ к нему имеете снаружи
* Легкая настройка проброса портов. Например, вы стартуете сервер внутри вагранта (виртуальной машины), а доступ к нему имеете снаружи
* Provision - это механизм интеграции с различными системами управления конфигурации. Позволяет вам настраивать вагрант посредством,
например, ansible.
* Гибкая и удобная настройка сети.
* Возможность запускать множество машин под единым управлением.
Важно что вся конфигурация вагранта это файл, который находится под контролем версий внутри проекта. Это означает что сама настройка
Важно, что вся конфигурация вагранта это файл, который находится под контролем версий внутри проекта. Это означает, что сама настройка
пишется один раз и повторно используется всеми членами команды без необходимости повторения всех действий руками каждому.
Чтобы начать работу с `Vagrant` сначала необходимо скачать и установить одну из систем виртуализации, например, `VirtualBox`.
Чтобы начать работу с `Vagrant`, сначала необходимо скачать и установить одну из систем виртуализации, например, `VirtualBox`.
Дальше нужно установить сам `Vagrant`. Установщик можно найти на этой странице https://www.vagrantup.com/downloads.html.
Далее, зайдите в тот проект, для которого вы будете создавать рабочее окружение и выполните там команду:
$ vagrant init ubuntu/trusty64
Эта команда создаст файл `Vagrantfile` в директории запуска. `Vagrantfile` это `ruby`-скрипт в котором описывается конфигурация Вагранта.
Внутри множество комментариев, показывающих то, как можно конфигурировать Вагрант и виртуальную машину. Единственная активированная
конфигурация это указанный `box`, который будет использоваться. В нашем случае это `ubuntu/trusty64`.
Эта команда создаст файл `Vagrantfile` в директории запуска. `Vagrantfile` это `ruby`-скрипт, в котором описывается конфигурация Вагранта.
Внутри множество комментариев показывающих то, как можно конфигурировать Вагрант и виртуальную машину. Единственная активированная
конфигурация - это указанный `box`, который будет использоваться. В нашем случае это `ubuntu/trusty64`.
Следующая команда запускает виртуальную машину и проводит базовую конфигурацию.
Expand All @@ -67,7 +67,7 @@ description: |
$ vagrant ssh
После выполнения этой команды, мы оказываемся внутри виртуальной машины с установленной на нее `Ubuntu`. Вагрант предусмотрительно
После выполнения этой команды мы оказываемся внутри виртуальной машины с установленной на нее `Ubuntu`. Вагрант предусмотрительно
подключил вашу директорию с проектом к виртуальной машине. Найти ее можно в директории `/vagrant` внутри виртуальной машины.
Все изменения, которые вы делаете изнутри наружу и наоборот, синхронизируются.
Expand All @@ -77,7 +77,7 @@ description: |
config.vm.network "forwarded_port", guest: 80, host: 8080
end
Теперь все, что запущено на гостевой операционной системе на порту `80` доступно на хост системе на порту `8080`. Можно добавить
Теперь все, что запущено на гостевой операционной системе на порту `80`, доступно на хост системе на порту `8080`. Можно добавить
сколько угодно таких пробросов.
Кроме этого, у вагранта есть полезная функциональность под названием `Provisioning`. Она позволяет интегрироваться с большим количеством
Expand Down

0 comments on commit e97afa7

Please sign in to comment.