非功能性要求
自动部署方案
为保证在无互联网的情况下,可正常搭建、构建项目,并自动化部署项目,所以选择Nexus+Jenkins+Maven+Gitlab集成环境部署方案。
(1) 使用Nexus在本地搭建npm、yum和maven私有仓库,Nexus是一个很强大的私服软件,不仅仅是作为Java的Maven打包使用,同样的也支持pypi、yum源、apt源、npm等等,私服的概念就是在本地架设一个中央仓库,在这个中央仓库上配置远程服务器源,当我们客户端需要某些包时,如果本地Nexus中央仓库没有这个包,就去远程服务器源中下载,下载成功后,这个包会保存在中央仓库中,下次再使用这个包时,直接从Nexus中央仓库获取,就无需从远程服务器下载了。
(2) Jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
请点击输入图片描述(最多18字)
系统集成部署流程图
开发人员在搭建开发环境时,可选择从本地Nexus服务器下载jar包,并使用Maven构建项目,版本控制工具使用Gitlab管理,开发人员开发完一个功能后,提交代码至Gitlab,此时测试人员收到通知,对开发人员提交的代码进行测试,测试完成后,自动触发Jekins进行代码的自动编译、测试,并构建Docker镜像,将构建后的Docker镜像下载至应用服务器,远程调用脚本,重启应用服务器。