※この記事はBitriseでSecret変数を取り込んだ.envを生成するの記事をエクスポートしたものです。内容が古くなっている可能性があります。
概要
.env
に記載する環境変数(チームメンバー閲覧可)と秘匿情報(特定のメンバーのみ閲覧可)を別で管理したい場面があると思います。そこで環境変数を.env.sample
ファイル等に記載しておき、BitriseのSecretsで管理している秘匿情報を書き込む方法を共有します。
1. .env.sample
ファイルを用意
# .env.sample # チームメンバーに見られてもよい変数 FOO="foo" BAR="bar" # 秘匿情報(空文字でセットしておく) HOGE="" FUGA=""
2. BitriseのSecretsに変数をセット
3. Workflowにデフォルトで入っているDo anything with Script step
にscriptを追加
#!/usr/bin/env bash # fail if any commands fails # set -e # debug log # set -x # write your script here # echo "Hello World!" # or run a script from your repository, like: # bash ./path/to/script.sh # not just bash, e.g.: # ruby ./path/to/script.rb # ----- ここから ----- cp .env.sample .env sed -i -e "s/HOGE=\"\"/HOGE=\"$HOGE\"/g" .env sed -i -e "s/FUGA=\"\"/FUGA=\"$FUGA\"/g" .env # ----- ここまで追記 -----
$HOGE
、$FUGA
は先ほどSecretsにセットした秘匿情報です。上記Scriptは以下を行います。
cp .env.sample .env
- .env.sampleの内容を.env(新規作成される)にコピー
sed -i -e "s/HOGE=\"\"/HOGE=\"$HOGE\"/g" .env
- .envの
HOGE=""
という文字列をHOGE="$HOGE"
に変換
- .envの
sed -i -e "s/FUGA=\"\"/FUGA=\"$FUGA\"/g" .env
- .envの
FUGA=""
という文字列をFUGA="$FUGA"
に変換
- .envの
まとめ
ただLinuxコマンドでファイル操作しただけですが知らなかったのでちょっとファイル操作するだけで時間がかかりました。
https://qiita.com/arene-calix/items/41d8d4ba572f1d652727
以上。