背景
正常情况下持续CI、CD,实现采用 docker+harbor+jenkins+gitlab+maven就可以了。
由于客户网络环境安全要求比较高,分为dmz、开发、生产三个网段,且三个网段网络不互通,想要联通只能申请端口,而且端口访问只能由生产访问测试,测试访问dmz,
dmz区可以连接外网,nexus和harbor安装在这个服务器上用下载maven依赖跟docker镜像;由于jenkins安装在开发环境不能访问外网,所以在dmz上也安装了一个跟开发服务器上版本相同的jenkins,用来下载jenkins完成持续集成与交付的一些必备的插件,下载完成覆盖一下开发环境jenkins安装目录下的plugins就可以了。
开发环境可以访问dmz的nexus跟harbor的端口,主要操作是开发人员提交代码到gitlab后,jenkins构建maven项目打成jar包,并根据jar包制作docker镜像上传到开发环境的harbor仓库上,灵雀云测试服务器跟生产服务器都可以访问开发环境的harbor端口去下载镜像。