Set up a Chef Development Environment

要開始學習寫 Chef 的 Cookbook 之前, 第一件事情當然是把開發環境給準備妥當,正所謂工欲善其事,必先利其器;這篇文章我會以 Ubuntu 來當作練習的平台

VirtualBox

首先要安裝的是 VirtualBox,因為一般來說 Chef 是用來管理 Server 的,所以在開發的過程當中一定一直需要一個全新的環境來進行開發和測試,因此拿 Virtual Machine 來當作練習的對象剛剛好

  • 首先把 VirtualBox 的 apt source list 加進來你的 Ubuntu 裡
~$ vim /etc/apt/sources.list.d/virtualbox.list

# 不是把底下的全部都加進去喔!選擇你Ubuntu對應版本的那一行就好!
deb http://download.virtualbox.org/virtualbox/debian trusty contrib
deb http://download.virtualbox.org/virtualbox/debian saucy contrib
deb http://download.virtualbox.org/virtualbox/debian raring contrib
deb http://download.virtualbox.org/virtualbox/debian quantal contrib
deb http://download.virtualbox.org/virtualbox/debian precise contrib
deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
  • 新增 Oracle 的 public key,這樣等等 apt 才可以用來安裝 VirtualBox
~$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
  • 然後執行安裝的指令
~$ sudo apt-get update
~$ sudo apt-get install virtualbox-4.3

Vagrant

接下來安裝 Vagrant,用來輕易的管理 VirtaulBox,並且成為 Chef 和 Virtual Machine 中溝通的橋樑

  • 官網下載 Ubuntu 平台的 deb 檔並且進行安裝
# 要是你下載到的版本比較新,請記得把安裝的檔名更換掉!
~$ wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.1_x86_64.deb
~$ sudo dpkg -i vagrant_1.7.1_x86_64.deb
  • 然後還要安裝一些必要的 Vagrant Plugin
~$ vagrant plugin install vagrant-omnibus
~$ vagrant plugin install vagrant-berkshelf
~$ vagrant plugin install vagrant-cachier
~$ vagrant plugin install vagrant-login
~$ vagrant plugin install vagrant-vbguest

# 安裝好後用 plusin 的 list 命令檢查以下的Plugin是不是都有出現了!
~$ vagrant plugin list
vagrant-berkshelf (4.0.1)
vagrant-cachier (1.1.0)
vagrant-login (1.0.1)
vagrant-omnibus (1.4.1)
vagrant-share (1.1.4, system)
vagrant-vbguest (0.10.0)

ChefDK

而Chef貼心的為大家準備了 Chef Development Kit, 這篇文章裡面會使用到裡面的 Berkshelf,用來解決 Chef Cookbook 的相依性和管理

  • 也是到官網去進行一個下載的動作
# 要是你下載到的版本比較新,請記得把安裝的檔名更換掉!
~$ wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.3.5-1_amd64.deb
~$ sudo dpkg -i chefdk_0.3.5-1_amd64.deb
  • 用下面的指令檢查是不是所有的套件都安裝成功
~$ chef verify
Running verification for component '...'
..........
---------------------------------------------
Verification of component '...' succeeded.

  • 最後把 ChefDK 需要使用到的 ruby 路徑設定好
~$ echo 'eval "$(chef shell-init bash)"' >> ~/.profile
~$ . ~/.profile
~$ which ruby

#應該要看到以下的路徑
/opt/chefdk/embedded/bin/ruby

這樣一來就把開發 Chef 所需要使用到的東西都安裝完成了,下一篇再開始來討論如何撰寫屬於你自己的第一本 Cookbook!

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s