目录
前言:docker和k8s相关介绍 https://blog.csdn.net/qq_38204134/article/details/103861988
前端:
1.不使用docker-发布操作
1.1方式1:
编译打包,react项目的打包命令: npm run build
此时会自动生成build文件夹:
里面包含index、js、css文件,然后打开index文件即可。
https://segmentfault.com/a/1190000011085024
https://blog.csdn.net/kerryqpw/article/details/78183417
也可以把index文件放在后端repo(springboot)的模板文件夹(\src\main\resources\templates)下;js、css放在\src\main\resources\static目录。
1.2方式2(推荐):
打包步骤同上,把 build这个文件夹 放到云服务器上,安装nginx(因为涉及到打开应用网址的代理问题。nginx解释:HTTP和反向代理web服务器)
最后 输入 systemctl start nginx
开启nginx服务。
浏览器上输入 yourIpAdress:5000/ 便可以访问你的页面了
参考:https://blog.csdn.net/weixin_34150224/article/details/88986416
1.3方式3:
打包步骤同上,我们先在本地运行下build目录看看
npm i http-server -g
http-server -p 4444 ./build
访问 http://localhost:4444 即可看到打包后的页面。
2.使用docker-发布操作(推荐)
简单而言,项目工程根目录创建“Dockerfile”文件(无后缀名),然后执行docker build,docker run 即可:
https://cirnobreak.github.io/blog/2019/01/26/dockernext/
https://developer.51cto.com/art/201910/604351.htm
但是往往还需要在创建镜像时,需要加上nginx(nginx解释:HTTP和反向代理web服务器),因为涉及到打开应用网址的代理问题。
两种方法:
- dockerfile中进行npm build参考:http://anata.me/2019/09/30/%E5%86%99%E7%BB%99%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9C%8B%E7%9A%84Docker%E6%95%99%E7%A8%8B-%E5%AE%9E%E6%88%98%E7%AF%87/
- 先npm build,dockerfile中进行打包好的静态文件夹build的拷贝参考:http://www.freesion.com/article/132543034/
2.1K8s部署服务
参考下文的后端部署-2.3K8s部署服务。
3.debug操作
用命令:npm start或者编辑器的启动命令npm start或运行node index.js(如果无node_modules文件夹需要先npm/yarn install)
后端:
1.不使用docker
- 导出项目为war,将war包复制到tomcat的webapps。
- 或者打成jar,使用java -jar 命令。 参考:https://www.jianshu.com/p/c616380095f0
2.使用docker
2.1jar包方式:
https://www.jianshu.com/p/397929dbc27d
2.2war包方式:
因为应用是要运行在tomcat中,所以需要进行一些tomcat的配置以及镜像准备。然后将war包放到Docker中的Tomcat容器中。
具体操作是,先下载tomcat镜像并启动,然后创建一个新目录以及DockerFile文件,拷贝war放到该目录下。
参考:https://blog.csdn.net/weixin_34309543/article/details/91909415
如果希望后端接口可以通过域名访问,则需要安装启动nginx,参考:
- http:https://blog.csdn.net/weixin_43451374/article/details/92843731+https://lyp123.com/code/springboot-jar-nginx-port.html
- https:https://blog.csdn.net/a_squirrel/article/details/79729690
2.3K8s部署服务
因为k8s是基于dokcer容器的集群,所以应该在每台服务器上都安装docker。所以前提是,微服务/应用已经有对应版本的镜像(k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。)
参考文档:
- k8s安装教程:https://www.cnblogs.com/deny/p/10136827.htmlandhttps://blog.csdn.net/qq_36327717/article/details/102778143
- k8s部署应用可视化工具(Rancher)教程:http://www.mamicode.com/info-detail-2619615.html
- k8s部署应用教程:https://blog.csdn.net/wucong60/article/details/81458409、https://www.iteye.com/blog/wpp65-2432339
3.debug操作
debug时,可以直接用编辑器run启动: