Infinito Nirone 7

白羽の矢を刺すスタイル

Keystore はどこに置くのが良いか

署名鍵は非常に重要なものです。無くしたら取り返しがつきません。何とかして無くさないようにしないといけないのですが、 共有ストレージに置いておくと大抵無くします。頻繁に使うものでもないので、どこに置いたか忘れやすいのが原因ですが、 忘れてしまったがために何かのタイミングでうっかり消してしまってなくすパターンが多いような気がします。

そこで結局どうするかというと、アクセス権限の制御ができるリポジトリであるならば、いっそ署名鍵もリポジトリに突っ込んでしまいます。 これで、うっかりで消しても履歴から戻すことが出来ます。やったね!

ただし、パスワードやエイリアスは別管理する必要があります。一度決めてしまえば変わることがないはずのものなので、 喪失リスク(忘れる)をケアできれば、バージョン管理システムに頼らずに済みます。

ポイントは、十分な長さを持つパスワードであれば良いのですが、だいたいそういうものは覚えられないので、パスワードそのものを覚えなくてもいいようにします。 その代わりに、パスワードを生成するロジックを覚えておくようにします。とある文字列を sha1 なり md5 に掛けたものをパスワードにする、とか。

あとは、環境変数にそれをぶち込んで、ビルドスクリプトからそれを読むようにすれば、晴れてリリースビルドが自動化されます。