6

セキュリティで保護されたファイルにアクセスする必要があるプロジェクトを CircleCI でビルドしようとしています。環境変数を使用できません。ファイルの形式である必要があります。私の場合、具体的には Mavensettings.xmlファイルですが、他の使用例もあります。私に何ができる?

4

1 に答える 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 に答える