3-shell之项目周期和代码发布
项目流程
项目周期
需求: 开发 开发经理拆分项目 1、人员 2、技术水平 组员: 项目的子模块
项目交给测试之前,需要项目的联调后,联调的时候,需要开发团队都在一起
测试 部署 运营
1.2 项目开发环境
个人开发环境 个人笔记本 公司配的电脑
特点:
环境是自己配的,团队中不同的个人开发环境可以不一样代码版本、软件版本、工具....
工作内容:
项目的子模块,子功能
工作人员:
自己
最终目的:
领导安排的内容,完成 项目的子模块开发完成
公司开发环境
公司内部的服务器,
特点:
服务器环境和线上的服务器环境完全一致
工作内容:
项目子模块间的功能联调
工作人员
开发团队所有人
最终目的:
项目开发完成 项目调试完成
测试环境:
公司内部的服务器,
特点:
服务器环境和线上的服务器环境完全一致
工作内容:
找茬
工作人员
测试团队
最终目的:
保证项目功能完备
预发布环境:
公司线上服务器组中的一台,
特点:
服务器环境和线上的服务器环境完全一致
工作内容:
1、支付类型的特殊功能 2、数据压力测试 3、其他安全措施
工作人员
运维团队
最终目的:
保证项目功能完备
线上环境
公司线上服务器组
工作内容:
代码部署
工作人员
运维团队
最终目的:
保证项目功能完备
2、代码发布
2.1 什么是部署 部署什么?
部署流程
代码 经过测试,功能完善,没有问题的代码
部署到哪里?
服务器 所有人都能访问的到的一台服务器(有公网IP) 阿里云、亚马逊、腾讯云、华为云、.
部署的效果
web网页对外展示
2.2 部署方式
手工发布代码 --->步行
慢 干扰因素多 不安全
脚本发布代码----> 坐车
快 干扰因素少 安全
2.3 部署流程
获取代码 代码仓库 集中式的 svn 分布式的 git
公司的代码仓库:
私有仓库 gitlab
内部服务器。或者公网服务器
仓库权限
只有项目的开发人员才有权限,项目之外的人没有权限
代码权限:
开发、管理、查看
提交的方式:
代码版本号
打包代码: 目的
减少传输文件数量 减小传输文件大小 增强传输速率
常见打包方式:
windows: zip、rar... linux: tar、zip...
传输代码
传输方式:
有网情况下
git ftp scp 共享挂载 cp rsync
没有网情况下
物理方式 U盘或者硬盘
传输工具演示:
格式:
scp 要传输的文件 要放置的位置
将本地文件推送到远程主机
scp python10.tar.gz root@192.168.56.12:/root/
远程连接的用户@远程主机:远程主机的位置
将远程主机的文件拉取到本地
scp root@192.168.56.12:/root/python10.tar.gz ./