機密性の高いテキストベースのドキュメントや、バイナリファイル (小さなものでも) をプロジェクトにシークレットとして挿入する必要がある場合は、base64 エンコードを利用し、環境変数として挿入できます。
Base64 は、バイナリデータをテキスト文字列に変換するためのエンコード方式です。 その値をコンテキスト または 環境変数 として挿入し、ビルド中に復号化して使うことができます。
環境変数は"Project Settings"ページで設定することができます:
コンテキストは"Organization Settings"ページで設定することができます:
ファイルパスをbase64コマンドに直接渡すことで暗号化できます。
base64 [option] [file]
補足 CircleCI で環境変数として使用するためにファイルを暗号化している場合(大きなファイルでも「バイナリ」でも)、コマンドに -w 0
オプションを渡す必要があります。これは、CircleCI で環境変数に入っている改行はスペース文字に変換されるため、生成される base64 ファイルに改行が入らないようにするためです。
ビルド中に base64 を復号化するには、--decodeオプションで実行します。
base64 --decode [file]
ビルドにファイルを環境変数として渡した場合、以下のコマンドで復号化しファイルに直接書き出すことが可能です。
echo "$ENV_VARIABLE_NAME" | base64 --decode > filename.txt
詳しくは、 https://circleci.com/docs/2.0/env-vars/#encoding-multi-line-environment-variablesを参照ください.
コメント
記事コメントは受け付けていません。