私は環境固有の変数を.envファイルから入手しています(私はdotenvパッケージを使用しています)。このファイルはバージョン管理されていません。awsコードビルドを使用してビルドシステム特有の環境ファイルを作成する方法
コードパイプラインステージcodebuildを使用すると、この.envファイルとその内容をどのように作成できますか?
ビルドスペックを使用して.envファイルにコンテンツを作成して追加する必要がありますが、どのように考えていないのでしょうか?
おかげ
私は環境固有の変数を.envファイルから入手しています(私はdotenvパッケージを使用しています)。このファイルはバージョン管理されていません。awsコードビルドを使用してビルドシステム特有の環境ファイルを作成する方法
コードパイプラインステージcodebuildを使用すると、この.envファイルとその内容をどのように作成できますか?
ビルドスペックを使用して.envファイルにコンテンツを作成して追加する必要がありますが、どのように考えていないのでしょうか?
おかげ
は私の提案はdotenv
を取り除くためにも、実際の環境変数を使用します。
dotenv
の問題は、お客様のnode
プロセス内で単にprocess.env
をごまかしたことです。それは実際にあなたの環境変数を変更するものではありません。彼らはあなたのnode
プロセス外では利用できません。
代わりにdirenv
を使用し、.env
ファイルを.envrc
に置き換えてローカル展開します。
CIおよび本番環境では、環境変数がCodeBuildプロジェクトで定義されるようになり、.envrc
ファイルは必要ありません。
別の角度からの詳細は、this related answerを参照してください。
あなたがdotenv
を引き続き使用したい場合は、いくつかのオプションがあります。
.env
ファイルとビルドプロセスの間にそれを取得します。.env
ファイルを構築します。私は確かに他の人はいるが、彼らはすべて私のためにハッキーです。
だから、これはあなたのbuildspec.ymlに以下を追加することができます最初の答えの2番目のオプションを取って、実際に簡単なスクリプトです:
phases:
pre_build:
commands:
- printenv > .env
シェルスクリプトprintenv > .env
は、すべての出力に必要とされているすべてですあなたのプロセスのenvをファイルに追加します。
提案していただきありがとうございます。env parameter-storeの下にあるbuildspecにenv情報を格納する方法はありますか? – pkpk
はい、それはリンクされた関連する答えが示唆しているものです。 – dashmug