セキュリティで保護されたファイルにアクセスする必要があるプロジェクトを CircleCI でビルドしようとしています。環境変数を使用できません。ファイルの形式である必要があります。私の場合、具体的には Mavensettings.xml
ファイルですが、他の使用例もあります。私に何ができる?
2352 次
1 に答える
18
この問題には、実際にはかなりの数の解決策があります。
環境変数としてファイル
ファイルの内容が短い場合 (パスワードのみなど)、ファイル全体を環境変数として保存し、次のような行を circle.yaml ビルド ファイルに追加できます。
echo $SECURE_FILE > mySecureFile
変数置換
ファイルの内容が大きく、ファイルのごく一部しか保護されていない場合は、ファイルをコード リポジトリに保存し、sed を使用して、次のように固定文字列を環境変数に置き換えることができます。
sed -e s/SECURE_PASSWORD/${SECURE_PASSWORD}/g mySecureFile.tmpl > mySecureFile
ファイルを暗号化する
構成ファイルを暗号化してソース リポジトリにチェックインし、復号化キーを環境変数として保存できます。ビルド プロセス中に復号化します。
Maven Settings.xml 特殊なケース
Maven の settings.xml ファイルの特殊なケースでは、settings.xml で環境変数を使用できるため、次のようにすることができます。
- settings.xml を conf/settings.xml に保存します
- 安全なテキストを次のように置き換えます。
${env.MY_SECURE_TEXT}
MY_SECURE_TEXT
サークル CI 構成で設定- circle.yaml で、「-s conf/settings.xml」を Maven ビルド コマンドに追加します。
于 2014-10-13T21:57:02.337 に答える