Slide 10
Slide 10 text
© 2022 LayerX Inc.
10
Makefileベースの単純なmonorepo
初期のMonorepo導入プロジェクトではbazelとMakefileの2つの選択肢の中でMakefileベースの手法を選択した。
仕組みとしては単純で、各言語に合わせてCIなどの対応処理をMakefileで実装、開発を効率化。
./typescript
./go
./terraform
└package.json
└Makefile
└Makefile
言語やPFごとに要件は異なる。
それぞれの言語ごとに合わせた
Makefileやpackage.jsonを
用意。
Setup, Build, Run, Test,
Lintなどの機能をそれぞれで愚
直に実装する方法を取る。
.
├── Makefile
├── README.md
├── containers
│ ├── api
│ └── migration
├── docker-compose.yml
├── go
│ ├── Makefile
│ ├── README.md
│ ├── cmds
│ ├── ent
│ ├── go.mod
│ ├── go.sum
│ ├── gqlgen.yml
│ ├── graph
│ ├── pkg
│ ├── sam
│ ├── seed
│ ├── services
│ └── tools.go
├── package.json
├── terraform
│ ├── Makefile
│ ├── README.md
│ ├── aws
│ ├── buildspec.yml
│ └── policy
├── typescript
│ ├── README.md
│ ├── buildspec.yml
│ ├── codegen.yml
│ ├── package-lock.json
│ ├── package.json
│ ├── public
│ ├── src
│ ├── tsconfig.json
│ └── yarn.lock
└── yarn.lock 図:とあるプロダクトの構成