- 原有流程:
a. 若在灰度过程中获取到异常则触发灰度结束.
b. 有异常流程为:"上线 -> 客户发现问题 -> 反馈问题 -> 运维手动回滚".
- 优化后流程:
a. "灰度 -> Sentry捕获异常 -> 自动停止灰度".
# 基于 Alpine Linux 的最小 Docker 图像,具有完整的包索引,大小仅为 5 MB!
FROM alpine
# 更换阿里镜像
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 指定执行 CMD 的目录,即先 cd 到该目录上
WORKDIR /home/docker/we_render
# Installs latest Chromium (100) package.
RUN apk add --no-cache \
chromium \
nss \
nodejs \
yarn
# 拷贝宿主机的文件到容器中的 we_render 目录
COPY . /home/docker/we_render
# 通过 yarn 设置淘宝源和装包,并清除缓存
RUN yarn config set registry 'https://registry.npm.taobao.org' && \
yarn global add pm2 && \
yarn install && \
yarn cache clean
# 声明容器提供的服务端口
EXPOSE 31070
# 容器主进程的启动命令
CMD ["yarn", "run", "schedule"]