LoginSignup
4
2

More than 5 years have passed since last update.

環境変数の値を別の環境変数から動的に組み立てて設定する

Posted at

やりたいこと

タイトルがややこしいですが、モチベーションは Travis とかで環境毎の環境変数を簡単に設定したいという所です。
Travis で dev, stg, prod のデプロイを行っており、Travis の環境変数設定で
SECRET_dev, SECRET_stg, SECRET_prod のような環境変数が設定されている。
アプリケーションとしては SECRET という環境変数を読み取っているので、デプロイする環境のサフィックスがついた環境変数を SECRET として設定したい。

やりかた

デプロイするスクリプトで以下の関数を定義して使う

ENV_SUFFIX=${TRAVIS_BRANCH}

set_env () {
    local ENV_NAME=$(echo ${1}_${ENV_SUFFIX})
    eval $(echo "export ${1}=${!ENV_NAME}")
}

set_env "SECRET"

今はサフィックスの値を TRAVIS_BRANCH から持ってきているので、dev, stg, prod のブランチでデプロイをすると SECRET という環境変数に SECRET_dev などの環境変数の値が設定される。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2