docker-compose 持续集成初步探究
如果还对 docker 不太了解可以先看看这两篇教程,十分详细。
Docker 教程
Docker —— 从入门到实践
只要在项目根目录下写好 Dockerfile 和 docker-compose.yml ,然后执行
1 2 3
| docker-compose stop docker-compose up -d --build docker system prune -a -f
|
在使用docker-compose up -d --build
编译的过程中会利用以前已经编译过的缓存,这对于整个项目的快速部署是十分有帮助的
例如,我们都知道 nodejs 项目中的 node_modules 是非常庞大的,如果每次部署都要重新下载会非常耗时间,因此要利用缓存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| FROM alpine:3.11
WORKDIR /home/app
ENV NODE_VERSION 12.15.0-r1 ENV NPM_VERSION 12.15.0-r1 ENV NODE_ENV production
RUN echo "http://mirrors.aliyun.com/alpine/v3.11/main/" > /etc/apk/repositories \ && echo "http://mirrors.aliyun.com/alpine/v3.11/community/" >> /etc/apk/repositories \ && apk update \ && apk add --no-cache --update "nodejs=${NODE_VERSION}" "nodejs-npm=${NPM_VERSION}" \ && npm config set registry https://registry.npm.taobao.org
COPY package.json /home/app/
RUN npm install --production
COPY . /home/app
RUN npm run build
EXPOSE 80
CMD ["npm", "start"]
|
修改完代码后提交到 github 之类的代码仓库,然后使用 webhook 推送到 jenkins 之类的 CI 进行编译部署即可。
本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/668e46b6.html
版权声明:转载请注明出处!