作ってたら、だんだんshellでansibleを再開発してる風になってきてしまったので、一旦考え直します。期待してた方がいたらすみません。
すごいな、ansible...
Protostarっていうプロダクトが動くようになったので、まだまだα版とも言えないレベルですが公開しました。
(なので、masterじゃなくてconceptっていうブランチで公開してます。)
Protostarってなんなの?
初期インストールが終わってからの最低限欲しいアプリのインストールとか環境設定とかそういうのを賄ったりその後の管理をするためのシェルコマンドです。
アプリ・シェルコマンドおよびドットファイルをはじめとする設定ファイルを管理します。
(現状公開してるのはただのスクリプト)
Protostarを使わなくても許されるのは2015年までだよね といわれるのを目指して鋭意作成中です。
すみません。個人的な事情で年内リリースむりぽです。
節分の頃に豆の代わりにばらまけるように頑張ります
使い方
(現状) Macのみです。
git cloneする
git clone https://github.com/protokit/protostar-mac
group_vars/allを書き換える(※追記)
暫定的ですが、gitのuser情報がここに書かれてるので書き換えてください
実行する
sh ./protostar.sh
※
ドットファイル書き換わるんで、バックアップ取るようになってますが、それでも心配な方は動かす前に自分でバックアップとってください。
まだベータ版ですらないんで、ベータリリースするまでは動作保証はしません。
(目標)Mac、Windows、ubuntu、centos
実行する(デフォルト)
protostar
実行する(カスタム)
protostar --option ~
なんではじめようと思ったの?
今までの経験上、PCを最初にインストールした直後に入れるものはプログラマだったらプログラマで、イラストレータだったらイラストレータで職種ごとにほぼ一緒です。
新しいPC買ったところで前と同じ、もしくは近しい環境を構築しようと考えます。
だったらこれをパッケージ化してこれをある程度自動化するほうが効率的です。
その上でカスタマイズできるようにしたらいいのです。
いろいろな管理ツールが生まれてくるかで、取っ付き易く汎用的なAnsibleが生まれました。
Macだったらhomebrew、WindowsだったらChocolateyがでてきて、管理がさらに楽になってきました。
だったらこれをまとめるものを作って提供したらみんなのためになるはずです。
こうして、Protostarを作りはじめました。
PCのパッケージの管理とかの(私の)近代史
何でやろうと思ったかをもうちょっと詳しく時系列で説明してみます。
"Boxen使わなくても許されるのは2012年までだよね"とかって言われはじめる
このころは、Macをメインで使ってなかったので、dotfileやアプリの管理とかあんまり考えてませんでした。なので、Boxenとか使ってなかったです。ごめんなさい。
ですが、関連記事とかBoxenのドキュメント読んでてなるほど便利そうだ。
でも、敷居がちょっと高い感じがするって思ってました。
HomebrewがBuzzられはじめる
このころ自宅開発用のPCをMacに移行しはじめます。
そうすると環境作ったりなんだりが面倒に感じられました。
そのタイミングでHomebrewいいよと言われはじめたので、試してみたらHomebrewはBoxenほど敷居が高くなく、とっつきやすかったんですっかり愛用してます。
特にHomebrew-caskは大好きすぎて、pull request送ったりもしてます。
衝撃的なdotfileと出会う
Setup Mac OS X Mountain Lion or Mavericks
(https://gist.github.com/millermedeiros/6615994)
このgistを見た時はちょっとした衝撃を受けました。
まさか、dotfileとhomebrewを一緒にしてしまうなんて!!
ソースを見てしまうと理屈は簡単で、dotfileを書き換えて(もしくはgit pullして)スクリプト動かすと
rsyncで差分が書き換えるとともにbrew bundleでシェルコマンドやアプリの更新・追加・削除が動きます。
でも、確かにこれだとアプリ、コマンド、dotfile全て管理できます。
Bestじゃないけどbetterな方法です。
以降、これをベースにして管理することにしました。
ansible x homebrewはじまりました
hnakamurさんがqiitaでこんな記事を公開しました。
AnsibleでHomebrew, Cask, Atomエディターのパッケージを管理する
http://qiita.com/hnakamur/items/1c27cf0df19fe57ec624
Σ(゚д゚(゚д゚(゚Д゚; ナ、ナンダッテー!!
ですよ、まさに!!
ちょうどAnsibleを触り始めたタイミングでこいつが来ました。
これはAnsibleにのせない理由は無いですよ。
ただhnakamurさんのではdotfileまではやってなかったので、hnakamurさんとか上手に使ってる人たちのを元にdotfileまでやっちゃうバージョンを作りました。
(今回公開したのはこの状態のものです。)
AnsibleのWindows公式サポート開始
たしかchefとかpuppetとかでは、windowsモジュールの公式サポートはMSIファイルのインストールとかコアなレベルまでのサポートはしてなかったはず。
これでおそらく一般的なdestop PCのOSは全部、ansibleサポートできるようになったはずです。
これが今回のプロジェクトをはじめようとしたきっかけになります。
その他
なんかちょうどいいタイミングでBrew bundleが使えなくなったみたいですね。
リリース急ぎます ε≡≡ヘ( ´Д`)ノ
http://unasuke.com/info/2014/brewfile-is-outdated/
https://github.com/Homebrew/homebrew/issues/30815
最後に一言
長くてごめんね。