Mac
開発環境
chef
Vagrant

Mac + Vagrant + Chefで開発環境を構築する下準備

More than 3 years have passed since last update.

ディレクトリを作成し、以下はそのディレクトリ内での作業になります。


Gemfile作成


Gemfile

source 'http://rubygems.org'

gem 'chef'
gem 'knife-solo', '~> 0.3.0.pre3'
gem 'berkshelf'



bundleでgemをインストール

$ bundle install


Vagrantファイル作成

以下Vagrantfileを作成する。今回はCentOS6.5を採用。

複数のVMを立ち上げて、お互いに通信できるようdevelopを定義しています


Vagrantfile

# -*- mode: ruby -*-

# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# 開発用
config.vm.define "develop", primary: true do |dev|
develop.vm.box = "centos_6.5_x64"
develop.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.5-x86_64-v20140504.box"

develop.vm.network "private_network", ip: "192.168.33.30"
develop.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2222

# ここのディレクトリは任意で
develop.vm.synced_folder "share/", "/vagrant",
owner: "vagrant",
group: "vagrant",
mount_options: ["dmode=775,fmode=775"]
develop.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
end
end


vagrantを起動します。

$ vagrant up

※ 初回はイメージファイルをダウンロードするため少し時間がかかります。


chefリポジトリ作成

$ bundle exec knife solo init .

※ chefの記述は別途書きます


hosts変更(Mac)

192.168.33.30   hogehoge.local


VagrantにChefを適応する

$ vagrant ssh-config --host hogehoge.local >> ~/.ssh/config # ssh hogehoge.local

$ knife solo prepare hogehoge.local # VagrantにChef等をインストール
$ knife solo cook hogehoge.local # Chefの実行

これでひと通りの開発環境構築する下準備ができました。

後はchefにnginxやmysqlのrecipeを追加して自分用にカスタマイズして下さい。