AnsibleでMacの環境を整えたついでによく使うツールの紹介
気づけばゴールデンウィーク前です。
本を買ったのでゴールデンウィーク中にSwiftの勉強をしてiPhoneアプリを作れるようになろうかなと画策中です。
詳細! Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2014/12/13
- メディア: 単行本
- この商品を含むブログ (3件) を見る
さて最近MacBookProを新調しましたので環境構築をAnsibleでやります。
なぜAnsibleでやるのかというとYAMLで簡単に記述でき いろいろ細かいことができるからです。
環境
OS: Mac OS X 10.10.3 Shell: zsh
GitHubにemacs.dとかzshのコンフィグを置いている。
GitHubにコンフィグ置くときはパスワードとかAccessTokenとかを公開してしまわないように注意してください。
ざっくりAnsibleのインストールと使い方
AnsibleはPlaybookというYAMLで記述されたコンフィグを元に環境構築をしてくれます。 Roleとかいろいろ用語があるのですが 今度きちんと勉強した時に詳しく書ければ書きます。
インストールはHomeBrewでやります。
# Install HomeBrew $ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" # Install python and ansible $ brew install python $ brew install ansible
ちなみにこのコマンドはシェルスクリプトにまとめておくと楽です。
実行は以下のコマンドで
$ ansible-playbook development.yml -i hosts
ちなみにdevelopment.ymlって書いてますがよく使われる名前はsite.ymlだそうです。 別に決まりがある感じはしなかったので参考サイトを真似させてもらいました。
HomeBrew caskについて
HomeBrew caskはHomeBrewのプラグインです。
Google Chrome、Google 日本語入力、iTermやAndroid Studioなどはここからインストールができます。
Macを買ったらSafariを開いてChromeをダウンロードしてきていたのですが
caskを使えばターミナルだけでインストールできてしまいます。
Playbookに含まれているパッケージについて
僕が環境構築に作ったPlaybookに含まれている中から 適当にざっくり説明していきます。
iterm2
標準のターミナルよりも高機能だったり 画面分割できたり細かくカスタマイズがいろいろできるので便利です。
zsh
シェルプログラムです。
コマンドの補完機能が優れているのでオススメです。
oh-my-zshを合わせることでCUIを綺麗にしたり様々な補完機能を簡単に設定できるので一緒に入れておくと便利です。
hub
aliasでgitにhubを指定させることでgitを拡張する感じで使うことができます。
forkやpull-request、CI statusの確認をコマンドラインからできます。
よく使うのはbrowseでリポジトリのページをブラウザでさっと開けるので便利です。
tig
CUI内でグラフィカルにGitのログを確認できるツールです。
慣れてしまうとtig以外ではログを見返すのが辛くなります。
tigの設定方法は以下の記事を参考にするといいと思います。
rbenv
Rubyのバージョンマネージャーです。
バージョンの切り替えが楽なのでオススメです。
nodebrew
Node.jsのバージョンマネージャーです。
io.jsも使えるしバイナリーをダウンロードして設置できるのでインストールも早いです。
dockerファミリー(docker-machine, docker-compose)
dockerを使うことでクリーンなコンテナ環境で開発ができます。
docker-machineでDockerのホストを作って
docker-composeでコンテナ間の連携とか記述します。
virtualboxを入れていれば以下のコマンドでboot2dockerがすぐに入るのでオススメです。
$ docker-machine create -d virtualbox dev
httpie
curlに比べ 簡素な記述方法とレスポンスの色付けをしてくれるので
API Serverの開発の時にとても便利です。
jq
curlなどからパイプで渡せば簡単にJSONを解析できます。
emacs
ショートカットでサクサク書けるエディターです。
漢のプログラミング言語Lispを使ってカスタマイズができます。
マスターするとプログラム仙人になれるとかなれないとか...
vimはよく知りません。
atom
GitHub製のEditorです。
Chromeベースで最近使い始めたのですがMarkdownを見ながら書くのに使っています。
まとめ
GitHubにemacsやzshのコンフィグを置いておくことで無くす可能性も低くなりますし
Ansibleを使えばMacが増えてもすぐに環境構築ができるようになりました。
サーバーだけじゃなくクライアントもコード化しとくと便利ですね。