首页 > 其他分享 >中小企业项目上线的一般流程

中小企业项目上线的一般流程

时间:2022-08-28 13:44:43浏览次数:56  
标签:Git 流程 merge 开发 上线 中小企业 测试 分支

转载地址:https://blog.51cto.com/hujiangtao/1944011

在公司从事运维工作期间,发现了一些更新上线项目发布的问题:

1,程序中写有大量的接口调用使用的是ip地址。

2,程序中的垃圾代码很多,用我的话说程序不干净,很明显是因为交接造成的。

3,生产环境更新的备份文件压缩文件到处乱放tomcat等的日志有分割但是没有定期清理,配置文件写的一沓混乱。

4,运维人员离职居然没有交接文档,更没有生产环境的维护文档。

5,更新上线没有提前通知规定,没正式流程。

 

 

我的建议:

1,杜绝ip地址在程序中出现,没有域名的用写hosts代替,需要特别标明。

2,清理程序中的垃圾代码,保证程序的整洁。

3,清理生产环境,统一规范安装路径备份路径,定时压缩清理无用的日志。

4,完善文档制度,补充生产环境配置部署文档。

5,完善更新流程,统一更新上线时间安排,及上线做好提前通知,标明上线修复的bug,及更新内容采用邮件形式。大更新提前1周,小更新提前1-2天。合理安排测试结束时间,建议上线最迟半日完成测试

6,灵活安排上线项目的具体次序,程序开发不得影响运维人员,有什么特殊需求提前说明。

 

下面说说公司常见的项目上线工具Git的详细使用过程

Git 代码管理
很多互联网公司都开始使用Git,替换了svn。Git非常适合互联网迭代以及多人多版本开发

如果让我说为什么喜欢使用Git,我喜欢切换分支,以及分支之间merge的方便快捷

新建分支以及合并分支的便利性,会造成一些问题,分支不自然的就会过多

所以需要定时的需要删除一些过时的分支

 

项目分支
一般来说,互联网项目有上线分支,预上线分支,测试分支,开发分支等

保证不同的分支做不同的事情,防止分支污染

上线分支,是发布到线上的分支,以这个分支为准,其他分支都是以这个分支为基础拉取。

预上线分支,在预上线环境当中,防止出错的最后一道保证。

测试分支,可能测试环境大家共用一套,所以把代码都merge到这里,然后发布

这样大家各自测试自己的,互不打扰。如有多个测试环境,直接使用开发分支测试也是可以的

开发分支,从上线分支拉取,根据需求修改的新分支。

 

开发流程

第一步,需求来了之后,从上线分支拉取一个开发分支。

第二步,在开发分支进行开发,自测。

第三步,合并到测试分支,通知QA测试。

第四步,如果通过测试,合并到预上线分支,然后继续测试。如果不通过测试,进入第二步。

第五步,如果预上线测试通过,将预上线分支合并到上线分支。如果不通过测试,进入第二步。

第六步,上线,然后线上测试。如果通过测试,那么这个需求开发就结束了, 如果没有通过测试,就撤回上线,然后进入第二步。

 

分支规范
测试分支以及预上线分支要定时清理,和上线分支同步

上线分支以及预上线分支,merge权限保证在少数人手里

merge的时候,需要检查提交以及对线上的影响

只能在开发分支修改代码,其他分支都是等着被merge

提交之前,需要保证和上线分支没有冲突

防止分支被污染,特别是受到测试分支污染

分支规范是必须的,不能随意修改。直接在上线分支修改,坚决说NO!



标签:Git,流程,merge,开发,上线,中小企业,测试,分支
From: https://www.cnblogs.com/tamya/p/16632639.html

相关文章

  • 部署若依微服务全流程(前置条件))
    (第一步)安装jdk(1)查看是否安装jdk java-version如果显示jdk版本则表示已安装jdk,显示其他则说明未安装(2)下载jdk,这里下载的jdk1.8下面是官网下载地址 https:......
  • 软件质量保障流程
    一.软件质量保障流程1.1微服务产品的特点微服务架构下,一个大型复杂软件系统不再是一个单体,而是一系列相互独立的微服务,特点鲜明:每个服务独立,开发技术栈独立每个服务......
  • MapReduce计算流程
    MapReduce的计算流程1.1原始数据FileThebookschronicletheadventuresoftheadolescentwizardHarryPotterandhisbestfriendsRonWeasleyandHermioneGra......
  • redis 入门安装流程
    redis安装流程安装linux的Redis[官网下载即可][https://redis.io/download/]一般会移动到opt目录下mvredis-7.0.4/opt在linux系统下安装redis加压命令tar......
  • JavaSE-Day01-Java流程控制
    Java流程控制用户交互Scanner通过Scanner类的next()和nextLine()方法来获取用户输入读取前可以使用hasNext()和hasNextLine()来判断是否还有输入的值next:不能得到带......
  • linux清除恶意程序流程-kdevtmpfsi清除
    TOP命令查看发现kdevtmpfsi进程跑满CPU,处理如下: 解决过程1、清除被新增的用户名和密码#找到账户ID和权限组都是0跟root同级别的和不认识的,删掉保存。vim/etc/pa......
  • 多路混流实操流程
    功能简介混流是把多路音视频流从云端混合成单流的技术。1混流优点降低了开发实现上的复杂性,例如当有N个主播进行连麦,如果采用混流,观众端不必同时拉N路视频流,开发......
  • vue框架搭建流程
    注意要用VUE新版本@vue-cli一、检查node和npm是否已安装win+r打开命令工具,输入cmd,后依次输入node-v和npm-v。若能显示版本号,则安装成功。若不能,node下载路径为Node.js......
  • 过滤器和拦截器执行流程
    权限认证有三块(1)过滤器(2)拦截器(3)单独写代码逻辑处理,函数调用等。只有过滤器运行逻辑:,过滤器中的内容->doFilter->doFilter后面的逻辑过滤器中的内容#####......
  • java流程结构
    顺序结构按顺序往下运行if单选择结构if(布尔表达式){//如果布尔表达式的值为true}if双选择结构if(布尔表达式){//如果布尔表达式的值为true}else{/......