一、前言保持在线项目稳定运行非常重要。为了实现99.9%的服务可用性并减少开发人员在项目部署中花费大量精力,我们可以尝试自动发布它。
自动化部署涉及许多配置,每个环节需要不同的知识,因此单独编写。
在此过程中使用的技术堆栈webpack docker nginx shell。
二、实践环境mac
节点& gt10.11.1
docker & gt20.0.0
第三,提前准备的内容是由create-react-app构建的前端项目,项目myweb命名于此。
本地安装docker
第四,打造码头工人形象。首先,通过镜像打包前端部署包,并在项目根目录下创建Dockerfile。
1、DockerfileFROM节点:10-alpine as builder工作目录/数据/myweb副本。。运行NPM install --registry = https://registry.npm.taobao.org --no-package -lock --no-save RUN yarn build FROM nginx:alpine as myweb RUN CP/usr/share/zoneinfo/Asia/Shanghai/etc/local time \ & amp;& amp回声& quot亚洲/上海& gt/etc/time zone workdir/data/mywebcopy。/nginx/etc/nginx/conf . dcopy --from = builder/data/myweb/build/data/mywebexpos 80,443复制代码。
2.配置文件描述:Dockerfile做了两件事。
第一种是将前端项目打包到节点映像中,称为builder。
第二种是拉取nginx镜像,覆盖文件的nginx配置镜像,将builder镜像中打包的文件复制到nginx镜像的/data/myweb文件中,执行docker build -t myweb。
此时,我们执行打包命令并获得两个映像,一个打包的节点映像和一个nginx映像。我们只需要nginx映像来启动服务。
3.执行命令// 1。docker构建映像` Docker Build -T Docker Name:1 . 0 . 0 .`//2。查看现有图像docker图像// 3。删除Docker映像docker rmi dockerImageId // 4。删除docker容器docker rm dockerContainerId // 5并启动一个docker容器Docker Run -D -P8000: 80 --Name前端。
在浏览器中访问http://localhost:8000,查看当前通过docker部署的服务。
5.nginx配置文件与我们的正常部署相同。它用于转发静态资源并在根目录中创建新的nginx文件夹。/Nginx/default.conf
服务器{ listen 80server_name本地主机;location/{ root/data/myweb;index.html指数;} error _ page 500 502 503 504/50x . html;location =/50x . html { root/usr/share/nginx/html;}}复制代码
这样,我们完成了第一步,通过docker部署我们的服务。
如果我们直接通过docker部署前端也是有可能的。
然后,在docker部署的基础上,
然后继续通过k8s集群部署。
作者:前中后台链接:https://juejin.cn/post/6962037427108380709来源:稀土掘金版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。
评论前必须登录!
注册