2
0

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.

Vue開発環境を作った時の備忘録

2
Last updated at Posted at 2020-07-16

はじめに

Vueの開発環境を作った。この手の記事はいくらでもある。ただその過程で、.envファイルにのみ変数を閉じ込めたものは自分は見つけられなかった。その際に詰まった過程を残しておく。

成果物

gitへのリンク:https://github.com/yCroma/VueEnv.git

.
├── .env
├── Dockerfile
├── Makefile
├── README.md
├── commands
│   ├── copyenv.sh
│   └── create.sh
├── docker-compose.yml
└── spa

spaフォルダ下にマウントされるようになっている。ちなみにアプリ名を変更すると、そのアプリ名に変わる。

使い方

$ git clone https://github.com/yCroma/VueEnv.git
$ cd VueEnv
$ make vue-create

http://localhost:8080にWelcomeページが表示される。

詰まったもの

  • Makefileで.envを利用したい
  • bashで.envを読み込む方法
  • Makefile内でのdocker-compose run exec の違い

Makefileで.envを利用したい

結論から言うと、適していないらしい。代わりにbashを書いて、Makefileで動かすのが筋だそうだ。

bashで.envを読み込む方法

.
├── .env
└── commands
    ├── copyenv.sh
    └── create.sh

今回のようなツリー構造の場合、commands下にあるbashでは以下のようにして読み込んだ。

.env
APP_NAME=spa
test.sh
# !/bin/bash
. ../.env
echo ${APP_NAME}
結果
spa

参考は以下のとおり

Bashで=で区切られたファイルを変数の設定ファイルとして読み込む
シェルスクリプトで外部ファイルに記述された変数を利用する方法

Makefile内でのdocker-compose run exec の違い

これは、runにするだけで別のコンテナが立つというものだ。指定したコンテナに対して動かしているようで、できていないということが起こる。これにはまった。

おわりに

以前からずっとやりたかった、環境変数を.envのみで完了させるということができたことは嬉しかった。ただ、メンテナンスや可読性は良いとは言えない代物なので今後も勉強していこうと思う。

おまけ

docker run / exec や docker-compose の command / entrypoint で複数コマンドを連続して実行するには? #docker

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?