隨著團隊程式碼的總量越來越大、引用的套件越來越多,整個CICD流程從最初建置時的20分鐘暴增到約60分鐘,因此優化速度的迫切性也明顯提升
整個CICD流程中費時最久的是Build stage(約70%的時間都在build),因此優先從build stage下手
先來Review一下build stage的過程:
Dockerfile:
yarn install
lerna run build
yarn build
( 詳細可參考 在GitLab中建置CICD流程 )
FROM kbuiteam/app-env:0.0.4
WORKDIR /root/dbaegis/
COPY . .
COPY run.sh /run.sh
RUN yarn policies set-version 1.19.0 && yarn
RUN yarn build:local-dep
RUN cd packages/client/ && INLINE_RUNTIME_CHUNK=false yarn build
RUN cd packages/client/ && mv build/ .. && rm -rf * && mv ../build/ .
EXPOSE 8888
ENTRYPOINT ["/run.sh"]
優化的過程,可以從幾個面向去考慮: