たろすの技術メモ

Jot Down the Tech

ソフトウェアエンジニアのメモ書き

BitriseでSecret変数を取り込んだ.envを生成する

※この記事は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"に変換
  • sed -i -e "s/FUGA=\"\"/FUGA=\"$FUGA\"/g" .env
    • .envのFUGA=""という文字列をFUGA="$FUGA"に変換

まとめ

ただLinuxコマンドでファイル操作しただけですが知らなかったのでちょっとファイル操作するだけで時間がかかりました。

https://qiita.com/arene-calix/items/41d8d4ba572f1d652727

以上。