4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HerokuAdvent Calendar 2016

Day 18

[Heroku] 環境変数を別のアプリへ移行する方法

Posted at

これは、Heroku Advent Calendar 2016 18日目の小ネタになります。

やたらめったらとかんたんな小ネタになっている風ですが、これには、2つの理由があります。

  1. 大掃除が立て込んでいる
  2. Macbook買ってみたので、色々試している

ということで、主に 2.の理由により、Macbook でKobito使って、blogを投稿するの巻です。

環境変数を別のアプリでも再利用したい

仕事柄でしょうか、同じような Herokuサイトを何個も作ることがありまして。その際に、環境変数もほとんど同じようなものをコピペすることがあります。

しかし、通常ですと、Heroku Dashboard から一つ一つ手打ちで、コピペを繰り返す方法が主かと考えられます。一つや二つくらいなら諦めもしますが、そのときは10前後の環境変数がありまして、かつやたらめったら長い奇天烈な文字列がほとんどなので、コピペせざるを得ないですし、まちがえそうです。せめて、一通りの環境変数を作った上で、必要な部分のみ変更する方法が取りたい。

ということで、まるまる、別のアプリで使用している環境変数を、他のアプリでも設定する方法です。

heroku コマンドを使いましょう

heroku config コマンドを利用すると、環境変数の内容を表示したり、設定したりできます。なんだこれでかんたんじゃんと見せかけておきながら、通常の表示方法ですと、再利用できない形式で表示されます。

そこで利用するのは-sオプションです。shell で利用できるように、環境変数=変数の内容という形式で 1行ずつ吐き出してくれます。さて、複数行のときはどうするかと。コピペするにしても、複数行だとうまくいかなそうですが、1行で実はうまくいってしまいます。

heroku
$ heroku config:set `heroku config -s -a APP01` -a APP02
  • APP01 Heroku アプリケーションで定義された環境変数のすべてを、APP02 Heroku アプリケーションへ設定

heroku config:set コマンドは、入力として標準入力を容認してくれないものの、実行結果はそのまま受け入れてくれる包容力があります。そこで、heroku config -s の結果をそのまま引数とすることで、すべての環境変数を移行することができます。

心ゆくまでお試しください。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?