ファイルをBase64使い、環境変数として挿入する方法

機密性の高いテキストベースのドキュメントや、バイナリファイル (小さなものでも) をプロジェクトにシークレットとして挿入する必要がある場合は、base64 エンコードを利用し、環境変数として挿入できます。

Base64 は、バイナリデータをテキスト文字列に変換するためのエンコード方式です。 その値をコンテキスト または 環境変数 として挿入し、ビルド中に復号化して使うことができます。

環境変数は"Project Settings"ページで設定することができます:

project-settings-env-var-v2.png

コンテキストは"Organization Settings"ページで設定することができます:

org-settings-contexts-v2.png

 

ファイルパスをbase64コマンドに直接渡すことで暗号化できます。

base64 [option] [file]

base64のマニュアルはこちら.

補足 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を参照ください.

この記事は役に立ちましたか?
10人中4人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。