代码上线
代码上线
运维要做的事:
1.安装部署 开发环境 测试环境 预发布环境 线上环境
2.监控
3.高可用 不断优化架构 提高网站速度
4.数据备份
5.代码上线
6.故障处理
一、代码上线基本介绍
1.软件开发生命周期
老板创意---产品经理---立项---开发团队---测试团队(黑白盒)---运维上线
产品经理---加需求---开发团队---测试团队---运维更新代码上线
黑盒测试:6-8k
白盒测试:20k+
2.什么是环境?
开发环境:开发自己用的电脑 本地自己装的php python啥的
测试环境:多个人的代码合起来跑一遍,运行一次,测试mysql redis什么的
预发布环境:没钱的公司一般没有,直接连接线上数据库,专门的测试域名
生产环境:线上环境 每个项目一套环境 (线下可以放一起配多域名 线上不行)
公共基础设施:zabbix + jenkins + ntp + jumpserver 一套就够了
3.什么是持续集成(CI)?
每天都进行一次代码合并,就是持续集成
多个开发写的代码 集中起来管理 放到代码库里 (版本控制管理软件)
工具:svn git(多)
每天都要做代码合并,防止冲突,在合并的时候会产生冲突,所以提交的时候有先后顺序,就是你先上传,然后我把你上传的拉过来和我的进行合并,排除冲突,然后我在上传到主分支
4.什么是持续交付?
开发首先进行单元测试---最后把所有代码放一起进行测试---代码质量检查
5.什么是持续部署?
频繁的代码上线就是持续部署
二、上线
1:早期没有自动化工具如何上线?
方式:
纯手工scp 测试环境运行ok() cp code{,.bak}
纯手工git pull|
纯手工xftp上传 字符集文件
纯手工rz上传压缩包,解压
10G文件, 增量包 mysql.php /usr/lib /usrlib64
缺点:
a:全程运维参与,占用大量时间
b:上线速度慢 选中即复制
c:人为失误多,管理混乱
d:回滚慢,不及时