stop したり init スクリプトを削除したりすると apache2 cookbook なんかが仕込む delayed な reload アクションがこけて converge 全体が失敗する

また Chef のしょうもない話で恐縮なのですが、表題のようなことに悩んでおりました。 実はこれ、単に次の起動時に立ち上がってきて欲しくないという要求から始まったもので、それだけなら stop も削除もせず、立ち上げたまま chkconfig off でも service リ…

EC2 の Amazon Linux を launch するとき authorized_keys に公開鍵が注入されるユーザを変更したい

変更したくないですか? 私はしたかった。いい加減 recipe 作り込んだし、 ec2-user じゃねえだろって思ってた。例えば oogatta とかにしたかった。でもわからなかった。 今日、 @ainame と話してたら「それは CloudInit です」と教わった。 CloudInit …! …

Rails の n.months って Date の加減演算の引数になると月ごとの日数考慮するんだなあ

知らなかったというか、それについて真面目に考えたことが無かった。 コード class HogeTest < Test::Unit::TestCase def test_hoge Timecop.freeze Date.new(2014, 11, 1) do assert_equal Date.new(2014, 11, 1), Date.today assert_equal Date.new(2014, …

スタートアップ的何かについて考えていることのメモ

企業でもチームでもプロジェクトでも何と呼んでもいいけど人間が複数集まって新しく何かを始める時なんかに… 手法の前に人間なぜなら どんな方面にも手法がいろいろ確立されているもので。たとえば Lean でもいいし、 UX だったら Empathy とか。ここで言う…

IntelliJ ファミリーで OSX の Dvorak キーボードを使うと記号絡みのショートカットがおかしい

ずーっとこれ悩んでて、これのために OSX のキーボードは US にしつつ、 Karabiner で Dvorak に変換していました。でも気持ち悪いですよね。 Karabiner で配列をがらっと入れ替えると、再起動やスリープから復帰した後のログイン画面、 Karabiner 自体のア…

Test-Kitchen で成果物の受け入れテストもやる…のはどうやるの

僕 bats 好きなんですよ。なので Test-Kitchen でめっちょテスト書きます。なんとなくふわっとした複合的な要件は Serverspec で書きます。どちらにせよ、アプリじゃ無くてインフラなので、普段の25倍くらいは書きたいところです。 そんでいっぱしのレシピが…

Vagrant のプラグインで使えるフックポイント

vagrant-aws と Route 53 Vagrant そんな途方も無くすごいかって言うとそういう話じゃないですけど、毎日便利に使わせていただいてます。これまでは VirtualBox か VMware 、遊びで docker だったんですが、こないだ諸事情あって仕事の開発環境をインターネ…

Vagrant のプラグイン開発を VMware Fusion でやる

vagrant-vmware-fusion を入れてライセンスを有効にするには vagrant plugin を使う必要がある。 vagrant plugin はインストーラ版 Vagrant が抱え込んだ Gem リポジトリ環境で動く。 プラグインを作るときの vagrant はプラグインの Bundler 環境で動く。 …

Immutable Infrastructure の現実的なポイント(抄訳+アルファ)

Why you should build an Immutable Infrastructure | via @codeship こないだの Codeship のブログ見てて、自分も今ちょうどまさにそこに取り組んでいたのでいやほんとそうだなーって思って、でもアホだからほっとくと自分でも自分がどういうゴールで仕事し…

CentOS 7 と Vagant と Packer

CentOS 7 の Vagrant の box で vmware_desktop のものが無かったので Packer でちゃちゃっとつくってみました。2点時間がかかったので書いておきます。 VMware Tools の中の vmhgfs のコンパイルがこける CentOS 7 、カーネル 3.10.0-123.4.2.el7 、 Tools …

CentOS の kickstart ファイル

スクリプトでインストールするとき、 Debian / Ubuntu だと preseed ってのを仕込むじゃ無いですか。これまで Ubuntu の box 作るのに Packer でもちろん使ってました。 今回 CentOS 7 にしてみたので、同じようなのないかと調べたら kickstart ファイルであ…

Packer の Shell Provisioner 中で reboot すると再起動が完了する前に次の script がちょっと走っちゃう

Ubuntu でずいぶん前に作ってた Packer の json で CentOS 用の box 作ろうと思ったら途中でハングした感じになってた。どうも reboot したとき、その script は exit するのだけど、 sshd やら network やらはまだちょっとの間生きているので Packer が次の…

golang の intelliJ 用プラグインの用意してくれる Go SDK に入れるパスって何よ

OSX 10.9.3 で最新の brew で go を入れました。 検索すると比較的活発な intelliJ のプラグインがあったので入れました。 File > Project Structure から新しく SDK を設定せよというのでパスを入れるんですが「スカッ」って感じで何も起こりませんし追加も…

Gradle の inputs.property にクロージャ渡したときと変数渡したとき

完全に体調を崩してしまいました。まいったなあ…。 ところで Gradle って名前は有名な割に、ブログ記事、 stackoverflow のポスト、少ない。つまり、わかってる人たちだけが使ってる感じなので、そうそうそれ俺も思ってた!みたいな疑問が表に出て来てない。…

gradle で Berkshelf こないだの続き

こないだの続きで最終的に Docker のイメージを作るんですけど、途中 Dockerfile じゃなくて Chef で作ってます。同じ構成コードで Docker のイメージ以外も作りたくて。というわけで Berkshelf です。 repositories { mavenCentral() } buildscript { repos…

Packer で Chef な Docker に Dockerfile 重ねていきたいので Gradle その1

なにしろいま表題のような感じでいろいろ試してるんです。そうしたら、本当に38.9℃の熱を出して2日間寝込んでしまいました。 寝込んでいる間 Kindle Paperwhite で Manning の『 Gradle in Action 』を途中まで読みました。この作者の Benjamin Muschko さん…

Dockerfile でどうやるのと思って調べた小さい話

このところ Docker やってます。前にやってたのが去年の10月でさすがに半年以上立ってるので進化していて Docker Hub ができてほんと助かります。 private な image の共有はサーバ自分で立てろ、とかだったので…。 Dockerfile 内で、 build を実行している…

packer の既存 VM から box を作り直すやつは罠が多い

virtualbox-ovf Ubuntu precise では、おそらく Waiting for network configuration が出てネットワークインターフェースを見失う。 sudo rm /etc/udev/rules.d/70-persistent-net.rules 消して、シャットダウンし、また起動すると再生成されてしまうので起…

ACM

もっと日記っぽいことも書いてゆきたいと思っております。 こないだ ACM のライブラリ付きの subscription 購入したんです。特にそんときは何も考えて無くて(たまにゃーアカデミックな論文も読みたいけど専門家がキュレートしたやつがいいなあ)てなもんだ…

Vagrant の box を適当に作る

Vagrant Cloud 良いですよね。何が良いって private もあるところと、ゲストをインターネットに一発公開のあれです。 というわけで、横着していままでストックの precise64 から毎回大量の provisioning して作っていた環境を box にしてみました。あ、もち…

RubyMine と Ruby 1.9

RubyMine のテストランナーを便利に利用する RubyMine のテストランナーは進捗もゲージが増えていって爽快だし、テスト対象のファイルと項目がツリーになって表示されてどんどん緑ランプが付いて消えていくのも楽しいし、落ちたら赤いランプが付いてそのまま…

trello の board の権限メモ

trello 使ってます。 trello の board の権限設定はファイルのパーミッションに似ていて、 Read と Write がある。 Read のことを "Visibility" 、 Write のことは board の "Member" と呼んでいる。 Visibility / Read Private Organization Public があり…

Anker の多ボタンマウスを OSX で使う

Windows で RubyMine を操作するために安い多ボタンマウスをと思い Anker の Anker 8200 DPI High Precision Laser Gaming Mouse を購入して使ってみたら、とても具合が良かったです。メインの2つに加え、戻る進むと僕の苦手なホイールクリックを除いてもあ…

Google Chrome の Extension 書いて詰まったりおっと思ったりしたところ

今朝、クロネコさんの荷物問い合わせ結果画面をリロードしつつ「配達中」ステータスになるのを待っていたら、なんかこれは人間のやることじゃないぞと思い立ち、 Chrome の Extension を書きました。 それがこれ、クロネコヤマタブルです。 しかしこの Exten…

cmd.exe と awsome print

すっかり Windows での仕事に慣れたので、これまではそういうものだからと最初から諦めていたことも少しだけ調べてみたりしています。 cmd.exe で ANSI colors cmd.exe 上でも ANSI 色エスケープシーケンス出力を視覚的な色に変換したいです。例えば awsome …

Rails のドキュメントを生成して S3 に置いた

要するに今関わってるプロジェクトの Rails は新しくないのであります。こないだ書いたとおり生成してローカルで見てたけど、布団の中では見れたり見れなかったりする。寝る前に丁寧にマシン落としてると見れない…。 もう私の見たいときにいつでも見られるあ…

Rails の任意のバージョンのドキュメントを生成して閲覧

古い特定のバージョンのものなども見たく、 http://api.rubyonrails.org/ にある公式のもので古いものを見られるのかどうなのか自分の検索力では分からなかったので、手元で立てれば良いじゃんってことで。 rails のリポジトリを clone してきて Rakefile 見…

ConEmu 入れ直し

Chocolatey で入れていた ConEmu ですが、 stable を2年放置で preview が進むタイプの開発だと言うことに気づいたので自分で入れ直し。ついでに、 Clink 入れた。 cmd.exe 向け readline って感じで実に良い。 ConEmu_Clink - conemu-maximus5 - Windows Co…

1.7.0 から出来るリモートブランチの消し方今日知った

git

$ git push origin --delete branch_nameにょーん。1.7.0 って 2010年の2月だ。辛い。

Windows で ruby 2.1.1 をビルドする

事情あってクリーンインストールしたので Windows 8.1 に ruby を入れ直そうと思ったが、 RubyInstaller に 2.1 が来ないのと、 Windows のことだしいつ RubyInstaller の更新止まってしまうか分からない。最低限のことはサードパーティに頼らず自分で出来た…