Introduce to our WorkFlow#
经过了原理的介绍,现在讲讲在开发的工作流中Docker、DevContainer、CI、CD的作用分别是什么。
A glance at our work flow#
(图源网络,侵删)
Step by Step: A Simple Walkthrough#
1. 准备开发使用的镜像#
首先要准备好开发环境,之后开发的代码的构建、运行环境都是基于这个镜像的。当然之后如果有新增的依赖,也可以在这个镜像的基础上再构建。
从docker hub上拉取镜像
2. 使用DevContainer配置开发环境[可选]#
用于实现高度统一的开发环境
3. 把镜像环境和devcontainner配置推送到git仓库#
这样就可以和队友共享了。
4. 开发#
拉取开发镜像和仓库代码,lauch工作空间
遵守git flow工作流,对后面的CI很重要。
5. 测试代码[可选]#
对项目的要求比较高的时候可以考虑加入测试代码,可以保证代码的质量。暂时先不做也是可以的,对其他流程没有影响。
6. 配置测试、构建流水线#
编写jekinsfile,告诉jenkins要做什么,比如要先拉取代码,然后构建代码,最后上传镜像到docker hub。
配置构建计划,比如每天几点自动构建,或者每次有合并请求的时候自动构建。
这时遵守Git Flow工作流的重要性就体现出来了。比如可以设置测试计划在每次有合并请求的时候被触发,评审员就可以知道这个合并请求是否可以成功build;比如可以设置构建计划在每次develop分支有更新的时候被触发,这样就可以把最新开发的且经过测试的代码构建成镜像,供后面的部署使用。
7. 部署#
【学习中】配置docker-compose.yml,告诉docker要做什么,比如要运行哪些镜像,要把哪些端口映射到宿主机上,要把哪些文件夹挂载到宿主机上。