LoginSignup
11
11

More than 5 years have passed since last update.

【開発中止しました】Boxen --> Brew bundle の先を目指して!! protostarの超α版リリース

Last updated at Posted at 2014-10-06

作ってたら、だんだん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

最後に一言

長くてごめんね。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11