はじめに
Go Tips連載の第2弾です。
こんにちは。TIG DXユニットの真野です。ここ数ヶ月は某IoT案件でGoを用いてバックエンド開発に勤しんでいました。連載第1弾のホワイトリストProxy申請するときのGo依存ライブラリURLドメインの調べ方を書いた宮崎さんとは、Goでメッセージ管理のライブラリとか、2-Way-SQLのライブラリとかを作りたいよねといったネタを交換を良くする仲です。
今回はGoでアプリ開発するときにお世話になっている人が多い、GolandのTipsを紹介します。
背景
The Twelve-Factor Appの方法論や、Dockerなどコンテナの流行に合わせて、環境変数でアプリケーションの設定を切り替えることが増えていると思います。
単純にこの言葉通りに設計すると、以下のように環境変数の種類が増えてくる場合が多いと思います。噂では30~40の環境変数を使うコンテナアプリも聞いたことがあります。
export DYNAMO_TABLE_USER=local_user |
ターミナルでGoのテスト実行やアプリ起動を行う場合は、上記をそのまま動かせばよいだけですが、Goland上でDebug実行するときなどは大変です。なぜなら Run Configurations
で心を込めてポチポチ環境変数を設定する必要があるからです。とても面倒だと思いました。
これは大変なタスクです。
結論
Key=Value形式をセミコロン区切りでクリップボードにコピーすると、一括で貼り付け可能です。
今回の例だと、exportを外して改行コードの代わりにセミコロンに書き換えてCtr+C…
DYNAMO_TABLE_USER=local_user;DYNAMO_TABLE_ITEM=local_item;DYNAMO_TABLE_PROFILE=local_profile;DYNAMO_TABLE_INSTALLATION=local_installation;DYNAMO_TABLE_CALENDAR=local_calendar;AUDIT_API_ENDPOINT=http://localhost:8000;AUDIT_ID_TRACE_ENDPOINT=http://localhost:8001;AWS_ACCESS_KEY_ID=dummy;AWS_SECRET_ACCESS_KEY=dummy;AWS_REGION=ap-northeast-1;
Environment VariablesのアイコンをクリックすればOKです。
CLI操作では無いのが強いていうと不満ですが、とても楽ちんです。
おまけ
envfile
を読み込むプラグインが存在します。
https://plugins.jetbrains.com/plugin/7861-envfile
これを用いれば、ターミナルはdirenv 、Goland上ではEnvFileに任せると一貫性があるかも知れません。
まとめ
- Golandはセミコロン区切りで複数の環境変数をコピー&ペースト可能
- プラグインを入れればもう少し固く管理も可能
皆さまの開発生産性に少しでも役立てれば幸いです。