トップ «前の日記(2017/01/31 (火) ) 最新 次の日記(2017/02/02 (木) )» 編集 RSS feed

HsbtDiary


2017/02/01 (水) [長年日記]

macOS Sierra で codesign してネットワーク通信時のダイアログを抑制する術

転職した笹田さんが「macOS で Ruby のテストを実行するとネットワーク通信を許可するかどうかのダイアログが出るんだけどみんなこれどうしてるの?」と言い出して、「ああそれは頑張ってクリックして消すものです」と答えていたら、実は Ruby のビルドシステムには macOS の codesign を使って良い感じに codesign する仕組みがあるので試して見た。

基本的な作業は How to install and codesign GDB on OS X El Capitan – Medium に書いてある通りに自己署名の証明書を作成するんだけど、Sierra ではこれに加えて以下のように証明書の下の階層にある秘密鍵のプロパティからアプリケーション全てを許可するようにする必要がある。

これを指定するという手順がどこにもなくて、ひたすらシステムキーチェインの要求を処理していて「なんでや〜」と小一時間くらい悩んでいた。ここまで用意ができたら環境変数 RUBY_CODESIGN に証明書の名前、例えば hsbt などを export してから Ruby をビルドすれば、それでテストしてもうざいダイアログは出なくなる。便利。

笹田さん、こうやれば良いらしいので頑張ってください。

bugs.r-l.o の elasticsearch を 1.x から 5.2 にした

bugs.r-l.o で使っている heroku から使うことができる elasticsearch を提供している一つの bonsai が elasticsearch 1.x はもう EOL だから 2.x にしてねーと連絡が来たものの redmine_elasticsearch は 5.x に対応した!という変更になってしまって身動きが取れなくなってしまったので、この機会に bonsai から elastic cloud に乗り換えて elasticsearch も 5.2 にしてしまった。

elastic cloud で動かすために上のようにいくつか workaround を入れたんだけど、テスト task 周りはあとで upstream に投げとく感じで。これで bugs.ruby-lang.org もしばらく快適に使い続けることができるかなあ。