代码库管理流程和开发中的一些问题

一 代码仓库管理

有效做好代码库的管理,对于复用和维护有着极佳的作用.我们公司现在使用git版本管理器来对代码进行管理,现在描述此问题.
补充:流程的描述是没有问题的,但是,有其适用的范围,这套流程,适用于大公司,客户成熟,开发流程完善,方可奏效,小公司的话,另外做其他的讨论了。但是还是这么些技术。当然,做微信开发的时候,应该采用其他的方案,毕竟微信开发中不能轻易的换服务器。

代码仓库结构

首先如下图:

仓库实例

结构的说明

服务器B:是生产环境的服务器

  1. 里面将不用任何git之类的版本管理工具,不提交任何的测试代码,所有放在这儿的代码都是测试通过的代码,git会导致代码仓库臃肿等,存在管理不善隐患等问题.
  2. 测试通过的代码,打成压缩包放在项目目录,直接解压到项目目录使用,每次有版本的更新,用新的版本命名压缩包,在解压到项目目录,之前的版本代码被覆盖,之前版本的解压包,作为备份,任然存放在项目目录,供追溯.
  3. 此个服务器的代码压缩包,是来源于服务器A中测试完备的,为了平滑部署,服务器A和服务器B的数据库配置,数据库名,运行环境必须是一模一样的.

服务器A:是开发时候测试环境的服务器

  1. 里面为了方便测试,这台服务器可以借助各种版本工具服务开发测试,比如git,其代码应该来自于git仓库(本地或者远程).
  2. 这台服务器,也可以作为一个备用的服务器,当线上项目出问题时候,可以马上使用这个服务器.
  3. 项目的测试必须在这个服务器上完全通过,然后再打包发送到服务器B.

本地代码仓库:是开发人员开始时候的本地环境

  1. 初始代码应该来源于远程代码托管库,方便版本的控制.
  2. 有git等多种便于开发的环境

远程代码仓库:便于协同,统一建立的仓库

  1. 最开始代码仓库从此建立,开发者从这儿clone到本地,进行开发,可保持所有人可跟踪,代码统一.
  2. 开发者可以推自己的代码变动到此.
  3. 服务器A(测试环境)的代码,由此处clone或者pull下去,少数时候允许push

开发中的流程

  • 建立项目时候,由管理者在git.oschina.net等远程仓库上先初始化项目,各个开发者再从仓库中clone到各自的主机进行开发,变动推送到远程托管代码库
  • 开发者开发过程中,需要线上测试的,可以从远程仓库拉倒服务器A进行测试
  • 当要正式上线的时候,必须在服务器A完成所有测试后,没有问题了,打包服务器A上的代码,发送的服务器B(生产环境),其中,两个服务器的项目环境必须一模一样;发送到B的代码解压后,即可用,压缩包作为一个版本,保留在生产服务器的项目目录下作为备份
  • 当要更新项目,或者维护,或者有大的改动时候,在本地完成后,必须推送到测试服务器A,进行测试,完全没有问题后,在打包到生产环境服务器B,解压到项目,替换上个版本,压缩版作为一个版本,存留在项目目录

描述大致如下图:


仓库代码流转图

注:在上述的情况,从服务器A到服务器B的过程中,“打包到生产环境”这个步骤,不一定是这样的,如果变动比较小的话,这么搞反而很复杂了,如果每个版本变动很大,上述的更新是实用的。如果变动不大的,我觉得,还是使用git或者svn等来进行管理(还有一些自动化集成的工具不是很了解,等到以后了解以后再说喽)。


二 关于项目构架----前后端分离

前后端分离是一种经过实践的,无论在协作,维护还是性能方面,都是非常出色的方法.

介绍

含义:很明显,前后台分离,就是从构架,到开发,到部署,整个流程都遵循前台,后台代码独立,不融合的方法.

优势:

  • 开发过程中,前端开发者,只用顾忌html,css,js和数据的传送和接受(ajax),模板的渲染(juicer,vue).后台开发者,只用顾忌数据库的建立,数据结构的分析,后台代码逻辑的构建,接受前台数据和数据的返回即可,无需接触到前台的代码,开发者权责分明,专业度强.
  • 部署代码时,前台采用nginx部署,后台采用apache;nginx在单单的静态资源如css,js,image的处理上,有着apache无法相比的性能,扛并发性十分强,还可以做负载均衡,对于很多项目都是后台的请求没有前台的多,所以nginx很实用;后台的代码交给apache处理,非常的稳定.无疑可以大大提高性能和抗兵法的能力.

流程示意图

前后端分离

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,672评论 18 139
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,621评论 1 180
  • 今年很巧,我们中国传统的元宵节和西方的情人节在同一天。 老头儿赶今儿去亚萍店铺打点儿酒,看着儿媳和孙女...
    劳作人阅读 238评论 0 0
  • 明天会好吗?明天会更好。
    我爱吃鱼吃火锅阅读 142评论 0 0
  • 忙碌了一天的身影穿梭在时间的缝隙中,来回奔跑着,叫人无法停止,如心电图在不停的跳跃着,感受着这种跳动所带给全身力量...
    夏天的风在被吹阅读 209评论 0 0