DevOps落地-成果:DevOps工具链

DevOps工具链技术图谱

“不就是部署xxx软件嘛?简单!"
其实也没那么简单,要想尽量提高研发的效率,质量, 还有不少部署之外的工作要做。
包括 集成、易用性优化、用户体验优化、多租户规范、文档模板、代码模板等。
下面说说这部分落地工作的一些心得。
devops-toolchain-icon.png
简单列举了各工具链部署信息。

需求项 选型/可选产品 下载地址与部署说明 配置举例 域名分配
用户目录 openldap/Microsoft AD https://docs.microsoft.com/zh-cn/windows-server/ 2C/8G/50G/200G ad.xxx.com
企业知识库 confluence https://www.atlassian.com/software/confluence 2C/8G/50G/200G wiki.xxx.com
敏捷工具 Jira software https://www.atlassian.com/software/Jira 2C/8G/50G/100G jira.xxx.com
代码仓库 gitlab https://gitlab.com/gitlab-org/gitlab-ce/ 2C/8G/50G/100G git.xxx.com
CICD 工具 gitlab-runner/jenkins https://docs.gitlab.com/runner/ 2C/8G/50G/200G cicd.xxx.com
静态扫描 sonarqube https://www.sonarqube.org 2C/8G/50G/200G sonar.xxx.com
artifact构件仓库 nexus/jfrog https://www.sonatype.com/download-oss-sonatype 2C/8G/50G/200G nexus.xxx.com
docker 镜像库 harbor https://goharbor.io/ 2C/8G/50G/500G harbor.xxx.com
企业网盘 nextcloud https://nextcloud.com/ 2C/4G/50G/200G doc.xxx.com
工单系统 Jira servicedesk https://www.atlassian.com/software/jira/service-desk 2C/8G/50G/200G desk.xxx.com
xxxxxxxxxxxxxx

企业知识库 confluence与draw.io

回顾,比较有意义的要点:

  1. 使用域名,使用https,与AD集成。
  2. 引入画图插件。各类文档都画图需求,不能画图大家不喜欢用。
  3. 页面树结构模板,对应敏捷开发全过程。创建好页面树结构及模板,囊括敏捷开发过程各活动。
  4. 多租户、多部门租户空间规范。空间、项目、部门的归属、权限关系,支撑多个业务部门。
  5. 持续优化体验。尤其是响应速度。
  6. 刚创建时,建设好公司空间、技术团队空间、项目空间模板。

下图为支持draw.io 画图的某项目空间截图。左侧页面树结构、页面的画图支持是提高效率关键。
DevOps落地-成果:DevOps工具链_第1张图片
下图为页面树结构模板,注意左侧的目录树结构,跟业务高度相关,我们这里跟敏捷开发的各个活动相关。
DevOps落地-成果:DevOps工具链_第2张图片

企业网盘 nextcloud

类似于百度网盘、QQ文档之类的东西。私有化部署。
主要用于 office三件套 word、excel、powerpoint 的协作共享。
文档组织,涉及机密就不截图了。
DevOps落地-成果:DevOps工具链_第3张图片

需求库 jira

回顾,比较有意义的要点:

  1. 使用域名,使用https,与AD集成。
  2. 速度优化。开始使用很慢,QA们意见很大,优化后再以没听到抱怨。
  3. 和confluence 、gitlab等集成。
  4. 使用报表。项目经理、各个开发、QA视角的报表。
  5. 装点插件,不要多,要用好用精。
    DevOps落地-成果:DevOps工具链_第4张图片
    某业务部门视角项目报表截图:
    DevOps落地-成果:DevOps工具链_第5张图片
    某个项目,项目经理视角(关心Sprint整体完成情况):
    DevOps落地-成果:DevOps工具链_第6张图片

代码库 gitlab

  1. 使用域名,使用https,与AD集成。
  2. 代码管理和企业组织架构对应。做好部门归属、责任人归属、权限管控等。
  3. 重视CICD 二次开发,重视简单性、可复用性、通用性。Projects 1600+ 什么反应,如果是Jenkins,1000+ jenkinsfile,几个运维能搞定?
    DevOps落地-成果:DevOps工具链_第7张图片
    支持dev、test多环境的流水线CICD截图:
    pic/gitlab-cicd-feature-branch-1.png

企业业务部门对应一级GROUP的例子:
DevOps落地-成果:DevOps工具链_第8张图片
模板化,代码目录结构(举例docker/):
DevOps落地-成果:DevOps工具链_第9张图片

制品库 nexus

  1. 使用域名,使用https,与AD集成。
  2. 多部门使用,要考虑release不要被覆盖。
    DevOps落地-成果:DevOps工具链_第10张图片

镜像库 harbor

  1. 使用域名,使用https,与AD集成。
  2. 项目和NS有简单对应关系。如一个项目一个NS。
    DevOps落地-成果:DevOps工具链_第11张图片

扫描库 sonarqube

  1. 使用域名,使用https,与AD集成。
  2. 与CICD 集成,自动化,零人工介入。
  3. sonarqube 的KEY使用Git Project name名称。
    DevOps落地-成果:DevOps工具链_第12张图片

服务台 servicedesk

  1. 使用域名,使用https,与AD集成。
  2. 工作中,识别关键流程,沉淀成流程。
  3. 持续优化、改进流程。
  4. 包含多层次的服务。包括IaaS云平台、公有云、私有云、XX网络服务、PaaS服务,等。
    DevOps落地-成果:DevOps工具链_第13张图片

总结

  1. 解决有无问题,持续优化改进。
  2. 换位思考,多角色角度思考,并进行平衡改进。我是 部门Leader、项目经理、技术经理、QA、前后端开发、运维等,他们的需求、痛点。

你可能感兴趣的:(容器化与DevOps落地之路)