1
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 3 years have passed since last update.

開発効率向上のためdockerでコンパイルを行う

Last updated at Posted at 2022-03-07

目的

  • docker環境でコンパイルを実施する。

利点

  • 開発者のチームでVersionを揃えることができる。
  • ホストマシンにNode.jsなどをインストールする必要がないので、開発環境の構築と運用が楽になる。
  • システムの実行環境にnodeが入っていない場合、コンパイル用のイメージを分けることで実行環境用のdockerイメージが小さくなる。
    • 今回はマルチステージビルドの話はないです。

実施方法

  • Dockerfile
FROM node:{DockerHubで公開されているTagのバージョン番号を入力してください。}
RUN yarn add node-sass@{node-sassのバージョン番号を入力してください。}
CMD node_modules/node-sass/bin/node-sass ./app/assets/scss/mdb.scss ./app/assets/css/mdb.css --output-style expanded
  • makefile
scss:
  docker build -t node-sass-compaile ./ && docker run --rm -v $$PWD/app/assets:/app/assets node-sass-compaile

説明

Dockerfileでもvolumeの設定は可能ですが、Dockerfileに記載した場合はホスト側との共有はできません。そのため、コマンド実行時にボリュームを指定してあげる必要があります。
実行環境にdockerを使用している場合はボリュームの共有はできますが、gitへのプッシュや実行環境がまだdockerじゃないと言う方もいると思うので、ホスト側と共有するためにコマンドでボリュームを指定しています!

dockerコマンドでボリュームを指定するとコマンドが長くなるため、makefileやVSCodeのtask.jsonにdockerコマンドをあらかじめ記載しておくと楽になります!

感想

dockerは使えば使うほど、ローカル環境に依存されなくて良いなぁと感じています!
もうdockerなしの生活には戻れない・・・・・・。

1
0
1

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
1
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?