2013-05-18(土) [長年日記]
■ Puppet ModuleをPuppetで管理する
あいかわらずVagrant & Puppetで遊ぶ日々(※遊びじゃない)。
基本的なことはだいたいできるようになったので、さて実用に供するためにはなんといってもRubyの開発環境を作らねば……と思って調べてみると、puppet-rbenvというのを見つけた。rbenv自身のインストールから、指定バージョンのrubyのビルド、Gemやrbenvプラグインのインストールまで面倒みてくれるすぐれもの。で、これをインストールするにはというと、puppetにmoduleサブコマンドがあってこれを使う:
% sudo puppet module install alup-rbenv
便利だなーって……これってつまり、puppetの外でインストールしろってこと? せっかくpuppetがあるのに、なんでpuppetで管理できないの? とつぶやいたら、(Vagrantではない)本番環境にはpuppetがあるとは限らないというしごくまっとうな指摘を受ける。そりゃそうだ。ただし、いまおれが構築してる環境はVagrant前提でいっこうにかまわないので、puppet moduleを管理するtypeを書いてしまおう。puppet/module.pp:
これで、こんな感じで書けるようになった:
include puppet puppet::module { 'alup-rbenv': ensure => installed } $me = 'tdtds' $ruby = '2.0.0-p195' rbenv::install { $me: } rbenv::compile { "${me}/${ruby}": user => $me, ruby => $ruby, global => true } rbenv::gem { ['tdiary', 'tdiary-contrib']: user => $me, ruby => $ruby }
ちょう便利。
2013-05-17(金) [長年日記]
■ ドーラ、ワクチンでもないのに病院に連れて行かれる
例によって確かなことはわからないものの、拾った時の予想月齢から逆算してだいたい今週あたりがドーラの誕生日になる。満三歳。大きくなったものだ……と言いたいところだが、先日体重を測ったところ3kgジャストしかない。たしか半年前には3.4kgあったはずなので(分解能が200gしかない人間用体重計の誤差を考慮したとしても)間違いなく体重が減っている。というか減りすぎだろこれ。
普段は元気いっぱいで、人の顔を見れば遊べと強要してくるし、食事も便通もあるにはある(どっちも細いけど)。とはいえ心配なのでかみさんに病院へ連れて行ってもらった。回を重ねるごとに病院嫌いがひどくなっているドーラ、今回はキャリアに入れて玄関を出た時点から情けない声で鳴き始めたそうだ。そのうえ診察台の上で脱糞まで……そんなことまでグスタフの真似しなくていいのに。この脱糞兄妹め……。
おかげで便の様子を見てもらえたのは不幸中の幸いというか、だいぶ毛が混じっているのでブラッシングをよくして草を食べさせなさいというお達し。他に問題はなさそうとのこと。うーん、草はもう「お前は草食動物か」というくらいに食べたがるんだけどなぁ(好物は無印良品の猫草である)。まぁとりあえず様子見か。
そんなドーラたんのフォローはこちら:
2013-05-14(火) [長年日記]
■ 入門Puppet - Automate Your Infrastructure / 栗林健太郎
連休中に読むとか言ってたくせにこのざまですよ。ハンズオン形式なので写経しつつ、動かしつつ……という感じで仕事の合間にちまちま進めてようやく読了。読んでる最中にtodeskingさんの(やや批判的な)感想をちらっと読んで「あー、たしかにこういう感覚あるわ」と思ったが、まえがきでもあとがきでもくどいくらいに詳細には立ち入らないと書いてあるんだから、求めるものが違うと考えた方が良さそうだ。
そう、本書を読んで(特にプログラマが)気になるのは、裏で何が起きているのか皆目わからない点だと思う。もちろん「自分だったらこう実装するし、たぶんそうだろう」というイメージは湧くしおそらくそれは正しいのだろうけど、「いいから書いてある通りに書いて動かせ」というスタイルの本書に拒否感を覚える人は少なくなさそう。
とはいえぜんぜんダメかというとそんなことはなくて、あとがきにあるように「(すでにPuppetを運用している職場)環境に飛び込んでくる新人エンジニアのための研修資料」というテーマにはマッチしていると思う。集中してやれば1、2日でPuppetの概略を理解できて、すでに運用されているmanifestsを読み下すことはできるようになるだろうし、それが本書のゴールだと思う。あとは文中にリンクを貼ってある公式ドキュメントで、そのつど新しいことを学べば良い。実際、公式サイトのドキュメントはすばらしくリッチで網羅的なので、本書はその出発点としては十分だ。
逆に「まだPuppet/Chefのようなツールが運用されてない職場」で学ぼうとすると、ちょっと苦労するかもね……おれのことだけどね。しかもクラウド上に同じサーバをたくさん構築するという用途ではなく「似てるけどちょっとずつ違うサーバを頻繁に作っては壊す」という用途なので、さてどうやってmanifestsを管理しようか……と頭を悩ませているところ。あと、Windowsも管理したいしなぁ。
パブーからEPUB / PDF / mobiで買えます。パブーで買った本は手元になくてもブラウザで読めちゃうのがいいね:
http://p.booklog.jp/book/70667
最近、達人出版会からも出ました。信頼のEdit by @takahashim。こちらはEPUB / PDF:
入門Puppet - Automate Your Infrastructure
848円+税
どうしても不自由なフォーマットで読みたいというなら止めませんが、いちおうAmazonでも買えます:
B00CL92JC0
◆ smbd [脱糞兄妹…]
◆ ブチャ猫 [↑ぷぷっ!]