🔒
BitriseでSecret変数を取り込んだ.envを生成する
DEPARTURE Advent Calendar 2021 | 9日目
概要
.env
に記載する環境変数(チームメンバー閲覧可)と秘匿情報(特定のメンバーのみ閲覧可)を別で管理したい場面があると思います。そこで環境変数を.env.sample
ファイル等に記載しておき、BitriseのSecretsで管理している秘匿情報を書き込む方法を共有します。
.env.sample
ファイルを用意
1. # チームメンバーに見られてもよい変数
FOO="foo"
BAR="bar"
# 秘匿情報(空文字でセットしておく)
HOGE=""
FUGA=""
2. BitriseのSecretsに変数をセット
Do anything with Script step
にscriptを追加
3. Workflowにデフォルトで入っている#!/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コマンドでファイル操作しただけですが知らなかったのでちょっとファイル操作するだけで時間がかかりました。
以上。
Discussion