Vagrant + YML用于配置

时间:2018-08-23 13:48:56

标签: bash shell vagrant vagrantfile

刚从无业游民开始并希望获得一些指导-我想这可能是一个简单的任务:

我正在使用yml文件来管理Vagrantfile的配置,如下所示:

require 'yaml'

# read yaml file
settings = YAML.load_file('SETTINGS.yml')

Vagrant.configure('2') do |config|

  # Define VM Box
  config.vm.box = settings['server']['box']
  config.vm.box_url = settings['server']['box_url']
  config.vm.hostname = settings['server']['name']

  ... etc ...

我的SETTINGS.yml如下:

server:
  name: denv-libweb
  box: ol7-latest
  box_url: https://yum.oracle.com/boxes/oraclelinux/latest/ol7-latest.box 
  ram: 1024
  cpus: 2
  ports:
    - guest: 80
      host: 8081

这一切都很好,但是我想做的是继续使用SETTINGS.yml文件来管理在配置脚本provision.sh中执行的配置,如下所示:

#!/bin/bash
if [ settings['provision']['apache'] ]; then
  yum -y install apache
fi

settings['provision']['apache']指向我的SETTINGS.yml文件的位置:

provision:
  apache: true
  mysql_user: dbuser
  mysql_pw: dbpassword
  ... etc ...

我采用正确的方法吗?有更好的方法吗?

如何使用我的settings.yml配置预配置脚本?

0 个答案:

没有答案