2016-01-07(木) [長年日記]
■ tDiary (のmasterブランチが) Herokuに直接デプロイ可能になった
もう1年近くまえ、tDiaryをHerokuボタンでデプロイ可能にしたんだけど、あれはそれ用に特殊な設定をしたherokuブランチのことだった。これはこれで良かったんだけど、通常プルリクエストはmasterブランチに対してなされるので、それをHeroku上でテストしようとするとなかなか面倒だった。
で、@machuがその「特殊な設定」をあらかじめやってくれるtDiaryのbuildpackを書いてくれ、おかげでmasterブランチでそのままデプロイ可能になった。すごい!!
これで、tdiary-coreにプルリクエストが来ると:
- (自動的に)Travis-CIでテストが走って、
- (自動的に)Herokuに専用のtDiaryがデプロイされ、
- 問題なければプルリクエストをmergeすることで(自動的に)Heroku上の開発用tDiaryが最新化される
という流れができるようになった。この流れを可視化するようにHeroku上にPipelineも整備した(下図)。なんかモダンじゃね? なんといっても手元にテスト環境がなくても開発できるぞ。感動や。
で、今後新しいtDiaryインスタンスをHeroku上に作る場合はtDiary.orgやGitHub上のリポジトリにあるHerokuボタンをポチっとして必要事項を入力するだけでよくなったんだけど、以前herokuブランチで作成した日記をこの仕組みに乗せないといけない。
まずはHeroku上のtDiaryを運用するで有効になったsystem_updateプラグインでtDiaryを最新化する。実はこれで利用するブランチがherokuブランチからmasterブランチに切り替わっている。このままだと必要なBuildpackが有効になっていなくてエラーになるので、以下のコマンドでこれを切り替える(コマンドからじゃないとできないっぽいのが残念):
heroku buildpacks:set https://github.com/tdiary/heroku-buildpack-tdiary.git -a 【対象のApp名】
(herokuコマンドはgemから入れることができる。ex. 「gem install heroku」)
続いてHerokuのdashboardで当該Appを開き、「Manual deploy」からmasterブランチをデプロイする。これで動くはず。
あとは「Automatic deploys」の対象ブランチをherokuからmasterに変えておけば、以後はmasterブランチを対象にsystem_updateプラグインが動くはずである。手元のテスト用Appはこれで移行できている。
2016-01-06(水) [長年日記]
■ 国立天文台のカレンダーをいただいた
今年も国立天文台の中の人からカレンダーをいただいた。昨年中に受け取っていたのだけど、今日になってやっと職場のデスクに飾った。野辺山の職員の人たちが撮った写真で作ったもので、職員しか入れない場所・季節のもの、それもかなり力の入った作品が収められていてじつに楽しい & 美しい。
もうひとつ、ALMAが撮った天体写真で作られた壁掛けカレンダー(こっちがいつものヤツ)もいただいたので、飾りたいなぁ。こっちは自宅のデスク横に貼るか。
2016-01-05(火) [長年日記]
■ Androidの内蔵ストレージをうっかりふっ飛ばしてしまったけど実害がなかった
最近電池がヘタってきて絶賛延命中のXperia Z1f、内蔵ストレージの使用量が75%を超えるとでてくる警告通知がうっとうしいので、いらないファイルを削除していたら、目標よりひとつ上の階層で「全削除」をやってしまい、のんきに「なんか時間かかってんなー」とか待ってる間に全部消えてしまった。
……うわー、変な汗出てきたぞ。
とりあえず、デレステを起動してみたらエラーが出るけど(真っ先に確認するのがそれか)、ゲームはサーバ側に全設定が残ってるはずなので復旧できる。とはいえ手順が面倒で、
- データ復旧にはバンダイナムコIDによるログインが必要
- パスワードはKeePassのDBに入ってるけどこれも消えてるのでDropboxからダウンロードしなくては
- Dropsyncが勝手に同期してくれるはずだけどなんかエラー吐いてるからその修復が先だ
みたいなブートストラップがめんどい。
ただ、アプリ本体と各種設定は消えたストレージ配下には入っていないので、アプリはすべて起動するし、設定も残ってる。Dropsyncも単に同期先のフォルダが消えていたからエラーになっていただけで、必要なフォルダを掘ったら復旧した。
けっきょく、そんな感じであるべきフォルダをあるようにしただけで、ほとんど何ごともなかったかのように元の状態に戻ったのであった。75%オーバーの使用量も50%以下になって、どんだけ不必要なゴミが溜まってるんだって話だけど、そんなに消えても生活に支障がないのはなんかすごい。しょせんキャッシュしかなかったってことだ。
実際のところ、データは基本的にクラウド上にあるものを使っているし、端末で生成したデータ──写真とかスクリーンショットとか──は発生すると同時にDropsyncがDropboxにアップロードしてくれるから、本当に端末上にないと困るものなんて存在しないのだ。自分がミスって全削除しちゃったときは理由もなく焦ったけど、焦る必要なんてなかったと。まぁ、Dropsyncの設定を適切にしておいた自分の手柄ではあるんだけど(笑)。