Ansibleを使ってMacBook Airのセットアップをする
新しいMacBook Airを購入したタイミングで以下の記事を発見してしまった。
Mac の開発環境構築を自動化する (2015 年初旬編) - t-wadaのブログ
ということで、触発されたのでやってみる。実は初Ansibleです。
事前準備
まずはセットアップ前にAnsible実行のためのコードを書いておく。
ということでまずは最低限のものだけ入れるようにしたのがこちら。
yukofeb/AnsibleLocalProvisioning
このコードを使ってMacにインストールしていく。
インストール
$ sudo xcodebuild -license $ xcode-select --install
homebrewインストール
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew doctor // option $ brew update
Ansibleインストール
$ brew install ansible $ brew install python
gitインストール
$ brew install git
$ git clone git@github.com:yukofeb/AnsibleLocalProvisioning.git $ cd AnsibleLocalProvisioning
Ansible実行
一気に入るからかなり楽!
$ HOMEBREW_CASK_OPTS="--appdir=/Applications" ansible-playbook -i hosts -vv localhost.yml No config file found; using defaults 1 plays in localhost.yml PLAY *************************************************************************** TASK [tap homebrew] ************************************************************ changed: [localhost] => (item=homebrew/binary) => {"changed": true, "item": "homebrew/binary", "msg": "added: 1, unchanged: 0"} changed: [localhost] => (item=homebrew/dupes) => {"changed": true, "item": "homebrew/dupes", "msg": "added: 1, unchanged: 0"} changed: [localhost] => (item=caskroom/cask) => {"changed": true, "item": "caskroom/cask", "msg": "added: 1, unchanged: 0"} TASK [update homebrew] ********************************************************* ok: [localhost] => {"changed": false, "msg": "Homebrew already up-to-date."} TASK [install homebrew-packages] *********************************************** changed: [localhost] => (item={u'name': u'vim'}) => {"changed": true, "item": {"name": "vim"}, "msg": "Package upgraded: vim"}
特につまづきポイントはなかったけど、virtualboxのインストールが失敗してしまった。
下記のダウンロードURLを直接叩くとダウンロードできるので、なぜ失敗したんだろう。。
failed: [localhost] => (item={u'name': u'virtualbox'}) => {"failed": true, "item": {"name": "virtualbox"}, "msg": "Error: Download failed on Cask 'virtualbox' with message: Download failed: http://download.virtualbox.org/virtualbox/5.0.14/VirtualBox-5.0.14-105127-OSX.dmg"}
もう一度走らせたら成功。ネットワークが不安定だったのかな。
changed: [localhost] => (item={u'name': u'virtualbox'}) => {"changed": true, "item": {"name": "virtualbox"}, "msg": "Cask installed: virtualbox"}
Formula自作
さて、公式には入っていないけど入れておきたいソフトウェアがちょこちょこあったので、
homebrew-caskに対応させるために、自分でFormulaを書いてみる。
書き方はhomebrew-caskレポジトリを参考にすると良さそう。
ドキュメントもしっかりしてるし参考にできるFormulaもたくさん。
homebrew-cask/doc at master · caskroom/homebrew-cask
ということでひとまずお試しでウイルスバスターを対応させてみました。
yukofeb/homebrew-mycask
MacOSのバージョンごとにURLが異なるので、分岐を使うようにした。
しかしこれ、OSが新しくなるたびにいちいちチェックして分岐を追加しないとダメそうだなー。
その辺今後の運用が少し面倒臭い。
まとめ
ということで、さわりだけAnsibleを使ってみました。
思ったよりもとても簡単で、特に困ることもなくセットアップできました。
Ansible、今更だけどちゃんと勉強しようw