CICD
2023-05-08 20:38:13 0 举报
AI智能生成
持续集成CICD
作者其他创作
大纲/内容
devops
DevOps是一种实现Dev(开发)与Ops(运维)工作流有效联合的思想,是一种团队文化。
版本
开发者经常需要修改代码,可以将开发的各个阶段都保存为一个版本(就像软件版本一样)
版本控制
可以控制在保存多个版本之间转换
开源的版本控制系统
集中式版本控制系统
cvs
svn
分布式版本控制系统
git
git三大区
工作目录
暂存区
版本库(head)
git命令
初始化工作目录
git init
将一个普通目录转换成可以被git控制的工作目录
提交版本
git add
git add 单个文件名
将单个文件的改变由工作目录同步到暂存区
git add * 或 git add --all
将暂存区同步成和工作目录一致
git commit -m "描述"
将已经同步的暂存区的状态保存为一个版本,此时三大区状态一致
查看版本历史
git log
显示当前版本及其之前所有版本的详细信息
git log --pretty=oneline
只显示当前版本及其之前所有版本的提交id
git reflog
显示所有版本与版本切换的信息
版本切换
git reset --hard HEAD^
回退1个版本
git reset --hard HEAD^^
回退2个版本
git reset --hard HEAD~100
回退100个版本
git reset --hard 提交id
通过git reflog查出的id, 实现任意版本切换
撤销修改与误删除恢复
git checkout -- 文件名
将暂存区里的文件内容同步回到工作目录
文件删除
工作目录删除 rm -rf 文件名
同步到暂存区使用 git rm 文件名
git commit -m "描述" 进行删除后的提交
分支管理
git branch
查看分支
git branch 新的分支名
创建新分支
git checkout 分支名
切换分支
git merge 分支名
将分支合并到当前分支
git branch -d 分支名
删除分支
远程git仓库
可以把本地仓库的代码上传或同步到远程仓库,方便其它用户下载使用或协助开发
分类
公网远程仓库
代表: github
内网远程仓库
代表: gitlab
github或gitlab
github或gitlab项目地址连接方式
https
ssh
git clone 远程仓库项目地址
把远程仓库项目代码全部下载到本地当前目录,并会在当前目录产生一个与项目同名的子目录
不需要使用 git remote add origin 远程仓库项目地址 命令进行对接
git push -u origin master
将本地仓库代码上传或同步到远程仓库的master分支
使用https方式,每次上传都需要验证github账号和密码
可以使用git config --global credential.helper store命令来缓存https方式的github账号和密码
操作时要cd进入本地仓库再操作
使用ssh方式,则可以实现免密上传
git pull
如果远程仓库代码有更新,使用此命令将更新同步到本地仓库
操作时要cd进入本地仓库再操作
CICD
CI(持续集成)
是一个快速定位或发现软件问题的开发实践
CD(持续交付)
把集成的代码交付给测试工程师测试,再交付给运维工程师在测试环境测试,最后上线到生产环境的一个过程
代码更新方法
蓝绿部署
有2套环境,先停1套并对其升级,由另一套提供服务。然后再切换,最终实现都升级的部署方式
滚动更新
快速地分批次升级,最终达到全部升级的目的
在容器平台比较容易实现
灰度发布(A/B测试,金丝雀部署)
把1台或某1小部分服务器先行升级为新版本,给用户测试反馈,如果OK则升级其它服务器,如果用户反对,则回滚
0 条评论
下一页