Devops-Hi Git
Devops-Hi Git
- 这个我们一般只是拉取代码,clone
Content LIst
- 运维发展过程
- 软件生命周期
- CI/CD DevOPs (这个是重点哦)
- 持续部署实施流程和对应的工具
- git使用(核心掌握拉取代码,拉取指定的版本,分支)
- gitlab私有化仓库
1.运维发展过程
云原生时代
- 以Devops、SRE框架为指导,Docker/K8S/微服务为基础,用分布式方式加上 Python和Go语言,构建一套云技术产品体系,以及进行高级管理工具的二次开发,实现属于公司自己的自动化运维体系以及云技术体系的自动化产品。使用的自动化运维产品,可以用rancherargoCDtecktonCl gitops 等,流水线及管理工具
2.ci-cd-co基础
2.1软件的生命周期
- 代码上线流程
- 开发书写代码
- 把代码上传到代码仓库中
- 通过工具拉取代码到测试环境中,测试
- 通过工具拉取代码道部署生产环境中
2.2 ci/cd(重点)
- ci 持续集成,开发的代码集成到代码仓库中
- cd持续交付 ,从代码仓库中拉取代码道测试环境中
- cd 持续部署,从代码仓库中拉取代码到生产环境中
3.3 DevOps (重点)
-
DevOps:理念让开发人员可以持续的集成,运维人员可以持续的交付和持续部署,让整个开发过程中自动化部署上线
- 开发写完代码自动的集成,自动交付和部署,本质上是自动化
- DevOps是快速的,频繁的可靠的软件交付实践,
-
DevOps
- Development 开发
- Operation 运维
-
DevOps目的是解决,开发写代码,集成,交付, 部署进度,审核缓慢
-
DevOps实现
- 开发(存放收集代码)github,gitee,gitlab
- 运维部署代码 jenkins, maven 插件
-
DevSecOps
- Dev开发
- Sec安全
- Ops运维
小结
- 熟悉软件生命周期
- 必会的 ci/cd/devops 持续集成,持续交付,持续部署
2.什么是环境
- 开发环境
- 测试环境
- 预发布环境,准生产环境,测试环境
- 谁部署,谁维护/负责
3.DevSecOpt–git入门到放弃
3.1什么是git
- scm
- 分布式控制版本
Git | SVN | |
---|---|---|
共同点 | 存放代码,版本控制 | 存放代码,版本控制 |
工作模式 | 分布式 | 中心化(权限集中) |
使用 | 入门较难,熟练后容易使用,目前使用率高 | 入门比较简单,服务端linux,客户端windows |
分支 | 创建和维护分支方便 | 创建和维护分支繁琐 |
svn 就被抛弃了
4.单枪匹马勇闯天涯-开发阶段
# 创建项目目录(代码目录)# 成为git仓库# 配置用户
git config ## 后面添加命令git config --global user.name 'oldboy'
git config --global user.email '918391635@qq.com'
git config --global color.ui true
git config --global --list
- 代码目录初始化
mkdir -p /app/src/lidao-app
cd /app/src/lidao-app
git init
ll .git/
- git工作空间和命令
- 书写代码,提交到暂存去
# 书写代码,添加文件
echo oldboy > index.html#查看状态,仓库状态
git status # 进行提交
git add .
git status
- 再次修改和提交
git add .
git commit -m "项目完成90%"
- 进行回滚,回到最初的版本
git checkout .
4.2 git分支 branch
- 分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之上创建一个名叫”拍照功能”的分支,这种分支只会属于你自己,而其他人看不到,等代码编写完成后再与原来的项目主分支合并下即可,这样即能保证代码不丢失,又不影响其他人的工作。
- 默认的分支-master 主分支,这个分支的代码一般都是可用,可以部署到生产环境的。
- 一般开发人员开发代码的时候创建dev分支,shopping分支。
- 应用名称分支每个分支对应独立功能。
git branch 查看
git branch name 创建
git branch -d name 删除
4.3连接远程仓库(密钥认证方式)
ssh-keygen
- 远程仓库配置密钥
- https - 每次连接的时候都需要输入账号的用户和密码
- ssh - 必备常用,密钥的认证
# 访问仓库主机上,创建密钥
ssh-keygen # 修改之前的配置的远程仓库
git remote remove origin
git remote -v
git remote add origin
git@gitee.com:lidao/lidao_live.git#创建新的文件上传到远程仓库测试
touch lidao.txt
git add .
git commit -m 'new file'#上传到远程仓库
git push -u origin master
总结
- git clone
- git add
- git commit
- git remote add origin
- ci . cd devops
- 代码上线流程