Join GitHub today

GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.

Sign up

README.md

概述

这是关于软件项目的开发、测试、上线的流程描述,以及基础设施的组成。

技术栈

  • kubernetes
  • coredns
  • flannel
  • traefic
  • drone
  • harbor
  • robotframework
  • ceph
  • ldap
  • rocket.chat
  • FLK
  • mocha
  • locust
  • avajs
  • nmap
  • scapy
  • anyproxy
  • ipfs
  • Glusterfs

业务场景

项目的基础设施采用目前主流的kubernetes,设置不同的命名空间来区分开发、测试、运维的资源,首先开发完成业务功能的编写,提交代码,通过drone来构建,完成单元测试,等待通过之后,将业务镜像推送到harbor中,然后通过插件在kubernets中构建整个业务环境,最后运行冒烟测试,通过后,将信息通知给测试。

测试接收到该信号,在集群的测试环境中根据提供的升级文档完成环境的安装,之后开始业务的测试以及一系列回归测试。在通过业务测试以及环境安装,之后将该升级方案提交给运维。

运维接收到升级方案后,进行线上环境的升级,待升级后,验证监控指标和业务功能,这样就完成整个版本的迭代。

具体功能

kubernets是整个系统的基础架构,coredns提供域名服务,flannel提供路由规则,traefic提供负载均衡和外部服务以及网关的功能,drone提供持续集成能力,harbor提供镜像仓库以及镜像安全扫描,ceph提供外部存储,ldap提供权限认证,robotframework编写接口自动化用例,mocha编写web段自动化用例,rocket.chat提供团队交流功能,FLK提供线上业务运维、locust压力负载测试工具,avajs自动化测试工具,nmap网络扫描渗透工具,scapy网络审计工具,anyproxy网络代理工具,ipfs分布式文件系统,Glusterfs分布式文件系统。