Posted at

Vagrant から digitalocean のインスタンスを立ち上げて ansible で provisioning する (Mac OS X)

More than 3 years have passed since last update.


目的

タイトル通り


インストール


  1. vagrant は最新版をインストール


  2. digitalocean のプラグインを入れる

    vagrant plugin install vagrant-digitalocean


nokogiri が無いと言われた時

1. sudo gem install nokogiri

2. vagrant が最新版か確認する


Vagrantfile を作る

YOUR_TOKEN は、DigitalOcean から取ってくる。

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

config.vm.hostname = "digitalOcean"

config.vm.provider :digital_ocean do |provider, override|
override.ssh.private_key_path = 'vagrant'
override.vm.box = 'digital_ocean'
override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"

provider.token = 'YOUR_TOKEN'
provider.image = 'ubuntu-14-04-x64'
provider.region = 'sgp1'
provider.size = '512mb'
end
config.vm.provision :ansible do |ansible|
ansible.playbook = "playbook.yml"
ansible.host_key_checking = false
end
end


playbook.yml を作る

- hosts: all

sudo: yes
tasks:
- name: upgrade
apt: upgrade=dist update_cache=yes
- name: install
apt: name={{ item }} state=present
with_items:
- nginx
- service: name=nginx state=started


ファイルを置く


  • mkdir vagrant

  • vagrant ディレクトリに Vagrantfile, playbook.yml を置く

  • vagrant up

  • vagrant ssh