这段时间刚考完试,正好提到了自动化部署,周六花了一天时间浅学了一下
思路
- 项目上传GitHub
- GitHub Actions对项目进行编译并发布到DockerHub
- Github Actions通过SSH连接到服务器运行Docker Compose进行部署
配置文件
Dockerfile
这次的项目仍然采用Docker进行构建
参考文件
这是项目里实际用到的Dockerfile,与我之前的构建不同,这次我采用的是多阶段构建,其好处就是有效的缩小了最终产生的镜像体积,同时更加便于维护与使用,你可以随时在某一阶段停下。通过这种方式构建的镜像由于只存在二进制文件,故其体积几乎只有二进制文件的大小,便于服务器进行部署。
.github/workflows/Deploy.yml
后记
如此就完成了GitHub Actions的布置
当然你可以不采用Docker官方提供的Actions,也有不错的开源Actions如:wuhan005/publish-docker-action
下面是服务器的参考命令
通过Docker Compose可以很方便的去管理Docker容器