GitHubリポジトリにいくつかのコードをプッシュしたい。これらのコードは、Javascript
、Java
、Python
などのような異なる言語になっています。これらのコードの一部には、私がしたくないAPI
キーが含まれています公開します。
キーを自動的に非表示にする方法はありますか?コードから手動で削除する必要がありますか?
GitHubにプッシュしたいプロジェクトはたくさんあります。そのため、手動での削除は適切なオプションではありません。
次のような賢明なデータを含むファイルがあるときはいつでも
config.yml
リポジトリでコミットしないでください。例を示します。
ユーザー名とパスワードが設定されたyamlファイルがあるとします:
# app/config/credentials.yml
credentials:
username: foo
password: bar
foo
とbar
の値を非表示にする場合は、このファイルをリポジトリから削除しますが、ユーザー名とパスワードのフィールドを維持することを目的とするdistribution
ファイルのみを追加しますが、実際の値なし:
# app/config/credentials.yml.dist
credentials:
username: ~
password: ~
インストール中に、このファイルを取得して、app/config/credentials.yml.dist
をapp/config/credentials.yml
にコピーできます。
また、app/config/credentials.yml
を.gitignore
ファイルに追加することを忘れないでください。
APIキーについても同じです:
# app/config/config.yml
config:
credentials:
username: foo
password: bar
api_stuffs:
api_foo: fooooo
api_secret: baaaaar
api_token: tooooken
これは構成ファイルに有効であり、構成の構造を共有する必要があるたびに賢明なデータを保存する必要がないたびに、良いパターンです。 Iniファイル、構成など。
とにかく、コードにAPIキーを含めることはおそらく悪い考えです。つまり、コードを使用する他のユーザーは、コードを編集して再構築する必要があります。
そのようなユースケースの教科書の解決策は、資格情報を何らかの構成ファイルに移動し、README.md
ファイルは、構成ファイルの構造と場所を示します。 gitignore
ファイルにそのエントリを追加して、自分(および他の誰か)が誤って個人情報をGitHubにプッシュするのを防ぐこともできます。
サーバーに 環境変数 を追加して、APIキーを非表示にできます。すべての一般的なプログラミング言語には、環境変数を評価するデフォルトの方法があります。