Понимание yaml-файла Homestead в Laravel

Может кто-нибудь подробно объяснить файл Homestead.yaml. Меня беспокоит непонимание его содержания.

Вот полный файл yaml Homestead:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

И вот что я понимаю о его содержании, поправьте меня, если я ошибаюсь, и, конечно, добавляйте комментарии.

authorize: ~ / .ssh / id_rsa.pub
Каталог на вашем локальном компьютере, в котором вы храните общедоступный файл .ssh. Эта папка может быть любой папкой на вашем локальном компьютере, верно?

keys: - ~ / .ssh / id_rsa
Каталог на вашем локальном компьютере, где вы храните локальный файл .ssh. Эта папка может быть любой папкой на вашем локальном компьютере, верно?

папки:
- карта: ~ / Code
в: / home / vagrant / Code

  • -map: каталог на вашем локальном компьютере, где вы храните все свои порции. Эта папка может быть любой папкой на вашем локальном компьютере, верно?

  • to: Я считаю, что именно здесь ваши проекты будут храниться на виртуальной машине. Если это правильно, должна ли последняя папка соответствовать последней папке в локальной структуре?

сайты:
- map: homestead.app
в: / home / vagrant / Code / Laravel / public

  • -map: я считаю, что это URL-адрес или домен, который вы будете использовать для перехода на свой сайт, и это может быть что угодно, если вы добавляете его в свой файл localhost, верно?

  • кому: Я не уверен, что это ...

базы данных:
- усадьба
База данных, называемая усадьбой, будет создана автоматически, верно?

Спасибо


person fs_tigre    schedule 19.03.2015    source источник


Ответы (4)


authorize: ~ / .ssh / id_rsa.pub Каталог на вашем локальном компьютере, где вы храните общедоступный файл .ssh. Эта папка может быть любой папкой на вашем локальном компьютере, верно? да

ключи: - ~ / .ssh / id_rsa Каталог на вашем локальном компьютере, где вы храните локальный файл .ssh. Эта папка может быть любой папкой на вашем локальном компьютере, верно? да

Homestead.yaml использует множество значений по умолчанию, поэтому при создании нового ключа .ssh вам не нужно ничего трогать

папки: - map: ~ / Код в: / home / vagrant / Код

-map: каталог на вашем локальном компьютере, где вы храните все свои порции. Эта папка может быть любой папкой на вашем локальном компьютере, верно? Да для: Я считаю, что именно здесь ваши проекты будут храниться на виртуальной машине. Если это правильно, должна ли последняя папка соответствовать последней папке в локальной структуре? Нет, в этом нет необходимости, вы просто указываете маршрут на своей виртуальной машине, и он будет заполнен всеми файлами в папке -map:

сайты: - карта: homestead.app в: / home / vagrant / Code / Laravel / public

-map: я считаю, что это URL-адрес или домен, который вы будете использовать для перехода на свой сайт, и это может быть что угодно, если вы добавляете его в свой файл localhost, верно? кому: Я не уверен, что это ...

Эти две строки настраивают что-то вроде виртуального хоста, я не уверен, как он действительно работает внутри, но в основном вы сопоставляете одну папку (с) с одним доменом (картой), это создаст новый виртуальный хост, чтобы вы могли получить доступ к своему веб-сайту набрав: homestead.app в браузере локального компьютера. Помните, что вам нужно отредактировать файл hosts, либо / etc / hosts, либо / windows / system32 / drivers / etc / hosts, и добавить новую строку примерно так:

192.168.10.10 homestead.app

базы данных: - homestead Не уверен в этом, я посмотрю на него, но мне кажется, что вы правы, просто укажите новое имя, и omestead создаст для вас БД.

Надеюсь это поможет

person Borjante    schedule 25.03.2015

базы данных: - усадьба База данных, называемая усадьбой, будет создана автоматически, верно?

да. И если вы хотите создать больше баз данных, вы можете просто добавить имя базы данных под - homestead, а затем запустить команду homestead provision, вы увидите, что база данных создана.

ВНИМАНИЕ, это условие является вредным, так как оно приведет к сбросу базы данных, и данные в вашей базе данных будут удалены так же, как и таблицы.

person BenjaminCao    schedule 20.05.2015
comment
По этой (вредной) причине я обычно не добавляю базу данных в файл Yaml и вместо этого создаю его вручную. Затем, когда я готовлю коробку для другого проекта, я не теряю незавершенную работу. - person liamvictor; 10.09.2020

Вы также можете добавить элемент options к элементам map/to в элементе folder, как в примере ниже, и для этого указать диапазон параметров , которые задокументированы в документации Vagrant.

- map: ~/Workspace/my/mapped/directory
  to: /home/vagrant/my/directory
  options: 
      owner: "www-data"
      group: "www-data"
      mount_options: ["dmode=0770,fmode=774"]
person Matthew Setter    schedule 27.10.2017
comment
Огромное спасибо! Я часами искал это! - person gradosevic; 21.07.2018
comment
Любое время! Я рада, что это вам помогло. - person Matthew Setter; 02.08.2018

Хотя я опаздываю с ответом, я недавно установил Homestead и Homestead.YAML было трудно понять, поскольку официальная документация отсутствует. Наткнулся на очень хорошую статью, но ее слишком много, чтобы копировать здесь, поэтому я просто дам ссылку на нее, надеюсь, она поможет новичкам.

https://abbasharoon.me/homestead-yaml-explained-a-z/

person Metabolic    schedule 31.10.2016