LoginSignup
0
1

More than 3 years have passed since last update.

dockerhub-development-flowを考えたけどボツった

Posted at

眠くてテンション上がってこんなツイートしてしまったので

npm-installしたbranchをmasterにmergeして、タグv0.1.1つける。dockerhubがタグv0-9{0-2}をgithubから拾ってきてbuildして組織内reposにpushする。んで開発メンバーは組織内reposからpullしてくる。んでworkspaceマウントしてnode_moduleを上書きマウントして開発。完璧では!? 引用

masterに取り込まれてからdockerhubにimage上がるまでのラグはどうするか。
Dockerfileはdockerhub上げ用、開発メンバーはdocker-composeを使ってもらい、compose.ymlののimageに組織/repos:具体的なバージョンを指定すれば、上がるまでは環境アップできないからなんの問題もない。完璧では!? 引用

脳内フローを書いてみようとした。

Dockerfile -> for Dockerhubにstoreする用
docker-compose.yml -> for 開発メンバーの開発環境用

Dockerfile
FROM node:xxx-stretch
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install && npm cache clean --force
COPY . /usr/src/app
docker-compose.yml
services:
  app:
    image: myOrganizer/myImage:v0.1.1
    volumes:
      - .:/usr/src/app
      - node_modules # container内のdirをマウントで消さないためのトリック

ここで筆を止めたんですよ。
これだとpull-req上で、docker-compose.ymlのimageに.を指定するわけにもmyImage:v0.1.1(まだ存在しない)を指定するわけにも行かない。
テストできなーい。

だめだこれ。ボツ ボーツ。

最終的には、dockerhubにstoreしたimageを開発メンバーには使ってもらって、build時間をほぼゼロにしてもらうつもりだったんだけど、開発者自信がimageを更新していくわけだから因果律ほうかいしてるやね。

package.jsonにdiffあったらおとなしくbuildしてもらおう。
依存環境の完全なfreezeは開発フェーズでは諦めて、dockerhubへのstoreを以て達成するかー。

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