私は Python を初めて使用し、ステージングまたは実稼働用のプロファイルを管理できる方法があるかどうか疑問に思っていましたか? 毎回コードを変更する以外にこれを行う最善の方法は何ですか?
1 に答える
プログラミングでほとんどのことを行うための「最善」の方法はありません (「最善」は主観的な考えであることが多く、すべてのプログラマーとプロジェクトは異なるため) が、Heroku タグを付けたので、 Herokuで動作する方法。したがって、Heroku 自体が提供するアドバイスを提供します。
特定のコードベースには、運用サイト、ステージング サイト、および各開発者が維持する任意の数のローカル環境など、多数の展開が含まれる場合があります。オープンソース アプリには、数百または数千のデプロイがある場合があります。
すべて同じコードを実行していますが、これらのデプロイにはそれぞれ環境固有の構成があります。一例として、Amazon S3 などの外部サービスの資格情報があります。開発者は 1 つの S3 アカウントを共有できますが、ステージング サイトと本番サイトはそれぞれ独自のキーを持っています。
このような構成変数を処理するための従来のアプローチは、それらをソースの下 (何らかのプロパティ ファイル) に配置することです。これはエラーが発生しやすいプロセスであり、アプリ固有の構成で個別の (およびプライベートな) ブランチを維持する必要があることが多いオープン ソース アプリの場合は特に複雑です。
より良い解決策は、環境変数を使用し、キーをコードから除外することです。
開発環境でアプリケーションの環境変数を設定する方法は、実行しているプラットフォームによって異なります (たとえば、Linux と Windows では環境変数の設定が異なります)。詳細については、Heroku のドキュメントを参照してください。
コードでは、os.environ
ディクショナリを使用して環境変数を取得できます。