Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagrant + Berkshelf でお手軽写経環境構築

thinkAmi
January 25, 2014

Vagrant + Berkshelf でお手軽写経環境構築

GDG信州 2014 Jan で発表したスライドです。

thinkAmi

January 25, 2014
Tweet

More Decks by thinkAmi

Other Decks in Programming

Transcript

  1. 自己紹介 • @thinkAmi • hatenaID: thinkAmi • C#, Ruby •

    自社インフラ管理 • GDG信州, NSEG • シナノドルチェ・シナノゴールド派
  2. はじめに • Vagrant + Berkshelf で お手軽写経環境構築 – Vagrant (ベイグラント)

    – Chef (シェフ) – Berkshelf (バークシェルフ) • 本日のコード • https://gist.github.com/thinkAmi/8608604
  3. 環境案3 • Vagrant – CUI + 設定ファイルから、仮想マシンを作る • 設定ファイル(Vagrantfile)にいろいろと記載 –

    設定ファイルを使い回すことで、 同じ内容の仮想マシンを作成できる • コマンドラインから、お気軽に仮想マシンの起動 と削除ができる – vagrant up で起動 – vagrant destory で破棄
  4. 環境案4 • Vagrant + Chef solo – Chef • インフラの構成等をcookbookという設定ファイル

    群へ記載し、実行する – gitをインストール – Terminalにgitのブランチ名を表示 • Cookbookを使い回せば、何度でも再現可能 • 自分で書かなくても、メジャーなものについては すでにいくつも公開されている • Vagrantと組み合わせて利用することが可能
  5. 環境案5 • Vagrant + Chef solo + Berkshelf – Berkshelf

    • Chefのcookbookの依存関係を解消する • Vagrantと組み合わせて利用することが可能 – vagrant-berkshelfプラグインを使う • 注) 現在Berkshelfはv2系だが、v3がそろそろ – コマンドや設定が変更になるとか – これでようやくお手軽になった気がする!
  6. ツールのセットアップ • 用意するツール – VirtualBox – Vagrant – Vagrant用のBox –

    Vagrant Plugin – Ruby – RubyDevkit – Bundler – Berkshelf v2系       ...なんか多い気が
  7. ツールのセットアップ • Vagrant用のBox – vagrantで作る仮想マシンのひな形 – Vagrantbox.esで公開されているのを使った り(自己責任)、自作したり – 事前に用意しておくといい感じ

    • 回線細いとダウンロードに時間がかかる... • 事前に用意した場合、以下のコマンドでVagrant へBoxを追加しておく – vagrant box add <vagrantでの認識名> <boxの保存 場所> » vagrant box add ubuntu120403 d:\fuga.box
  8. ツールのセットアップ • Vagrant用のPlugin – vagrant-omnibus • 仮想マシン上のChefの有無とインストールする • vagrant plugin

    install vagrant-omnibus – vagrant-berkshelf • VagrantとBerkshelfを連携する • vagrant plugin install vagrant-berkshelf
  9. ツールのセットアップ • Ruby (Windowsの場合) – Berkshelfを入れるために使う • vagrantに同梱されているRubyを使いたいけど berksコマンドを認識してくれなかった –

    RubyInstallerから、ダウンロード • http://rubyinstaller.org/downloads/ • Ruby 2.0.0-p353 • インストール時にPathを通しておく
  10. ツールのセットアップ • RubyDevkit (Windowsの場合) – ダウンロードしたものを解凍 • c:\devkit など –

    コマンドプロンプトより実行 • cd c:\devkit • ruby dk.rb init • ruby dk.rb install
  11. ツールのセットアップ • Bundler – 今回使用するディレクトリを作って、 その中にGemfileを入れておく • 例) D:\gdg\Gemfile –

    中身はこんな感じ • v2系の最新版を指定しておく source 'https://rubygems.org' gem 'berkshelf', '2.0.13'
  12. ツールのセットアップ • Berkshelf – Bundlerを使ってBerkshelfを入れる • bundle install --path vendor/bundle

    » グローバルなところにGemを入れたくないので、 --pathで入れ先を指定しておく » D:\gdg\verndor\bundle の中に入る
  13. 設定ファイルのセットアップ • Berkshelfでひな形を用意 – 今回は、d:\gdg – bundle exec berks cookbook

    gdg- shinshu-201401 – Bundlerを使っているので、berksの前にbundle exec が必要
  14. デモ • Gitのブランチを作って見てみる • mkdir hoge • cd hoge •

    git init • git checkout -b fuga • touch piyo.txt • git add . • git commit -m first – Terminalにブランチ名が表示されてる
  15. 参考文献 • 今っぽい Vagrant + Chef Solo チュートリアル http://qiita.com/taiki45/items/b46a2f32248720ec2bae •

    入門Chef Solo - Infrastructure as Code (伊藤直也 著) http://tatsu-zine.com/books/chef-solo