susunshunのお粗末な記録

お粗末に丁寧に生きる

monaca IDEのgithub連携でgitignoreする

今日軽くつまづいたのでメモ

monaca IDEで.gitignoreが編集できない

monaca IDEからgithubに連携しているソースコードAPIキーを使っている箇所は、
pushした後に

cont API_KEY = 1234567890

から

cont API_KEY = 【APIキー】

という風に毎回githubで直接編集していたのですが、なんともイケてない。
APIキーだけ別のファイルに書き出してそいつをignoreすればいいっしょ!と思い、monacaで.gitignoreを作成すると

f:id:susunshun:20160615224613p:plain

というダイアログが出力されてmonaca IDEからは編集できない、ファイルの表示もされない、でもファイルの実体はあるっぽい。
(commit & push したらgithubに.gitignoregが追加されていた)

対応

ということでmonaca IDEgithub連携しているソースに対してignoreしたい場合は以下手順で対応。

  1. githubで.gitignoreを作成、編集 & commit
  2. monaca IDEでpull
  3. monaca IDEでignoreするファイルを作成

とするとcommitしても差分で出てきません

f:id:susunshun:20160615230339p:plain

monaca開発でのAPIキーの扱いについて

現在頭を悩ませているのがAPIキーの扱いです。

今回のようにgithubAPIキーを公開したくないだけなら、

  • APIキーを別ファイル(JS)で外だし
  • 別ファイル(JS)をAPIキー使う処理で読み込む
  • 別ファイル(JS)はignore

で終了です。

でもビルドしたアプリを公開するとなるとどうでしょうか。
monacaのメインはあくまでもhtml、JavaScriptなのでchromeデバッガでデバッグできてしまいます。
つまり”別ファイル(JS)”もロード先のhtml/JSをデバッガで見れば判明してしまいます。

もっというとJS以外のファイルに設定を保持したとしても、APKファイルを解体すればファイルの内容ってみれちゃいますよね確か。。。

対応としては、APIキーを使用する処理をサーバーサイドに寄せて(web API)にしてmonacaで作ったアプリから呼び出せば良いのですが、monacaで完結させる良い方法はないですかね。。。(クライアントサイドでAPIを呼び出すwebアプリも同様)