1.
2.Gitlab应用架构
3.运维发展史
4.云原生时代:
以Devops、SRE框架为指导,Docker/K8S/微服务为基础,用分布式方式加上 Python和
Go语言,构建一套云技术产品体系,以及进行高级管理工具的二次开发,实现属于公司自己
的自动化运维体系以及云技术体系的自动化产品。使用的自动化运维产品,可以用ran
cherargoCDtecktonCl gitops 等,流水线及管理工具
5.软件全生命周期
6.CI/CD
ci cd
ci: 持续集成: 开发的代码集成到代码仓库。
cd: 持续交付: 从代码仓库拉取代码部署到测试环境。
cd: 持续部署: 从代码仓库拉取代码部署到生产环境。
7.DevOps
DevOps: 理念让开发人员可以持续集成,运维人员可以持续交付和持续部署.让整个开发过程自动部署,上线 ʢ
- 开发写完的代码自动集成,自动交付与部署。本质是自动化。
- DevOps是一套快速、频繁、可靠的软件交付实践.
DevOps
- Development 开发
- Operation 运维
DevOPS目标是解决 开发书写代码,集成,交付,部署进度,审核缓慢.
DevOPS实现
- 开发(存放收集代码 CI): git/gitlab/github/gitee(代码平台)
- 运维(部署代码 CD): jenkins maven ....插件 ʢ sonarqube (运维)
8.各种环境
9.代码发布流程
10.svn vs git
11.git工作空间
12.git命令
git-branch 分支
13.Jenkins
Jenkins 是一个开源持续集成的工具,是由 JAVA 开发而成。
Jenkins 是一个调度平台,本身不处理任何事情,调用插件来完成所有的工作
14.Jenkins是CI/CD,devops生态系统的集合
15.代码发布流程
16.pipeline
pipeline-流水线
通过jenkins的工作框架,通过"代码的方式",将多个任务联合起来.
流水线:传送门
流水线
- 模块化
- 方便检查
- 排错
- 整体运行清晰
17.pipeline流程汇总
- Jenkins拉取Gitlab代码,获取tag标签
- Jenkins调用Sonarqube/sonar scan 代码质量分析
- 略: Jenkins 调用 发送脚本,发送代码质量检查结果
- Jenkins 调用Maven进行构建
- Jenkins 调用部署脚本
- 摘下web服务器
- 分发代码,解压代码,软连接......重启服务
- 负载均衡接入web服务器
6.略:Jenkins通过脚本,发送上线结果
18.nexus
背景:
- maven编译的时候,npm/cnpm编译,需要下载大量的依赖包。
- 这些依赖包在每一次构建的时候都需要使用。
- 每次都从公网(maven 阿里云) npm(国内)。
可以搭建内部软件仓库:存放着依赖包
这个软件依赖仓库可以通过nexus实现。
19.使用nexus的代码发布流程
20.持续集成小结
git 基本使用, 拉取代码,上传代码,分支操作,tag标签
gitlab 用户 用户组 项目 , 备份,https,优化.
jenkins 工具平台,运维核心, 自由风格工程,maven风格项目,流水线项目, 流水线(pipeline)
- maven
- pom.xml
- target
- mvn clean package
sonarqube 质检 owasp 安全检查 (OWASP Dependency-Check)
pipeline流水线
钉钉发送消息.
核心: 代码上线流程
Devops/ci/cd
未来:
jeesns
基于docker项目。。