关于Web应用开发流程的总结

更新日期: 2018-12-26阅读: 2.4k标签: web

假设最简单的情况,一个开发人员,开发所有的代码,一个测试人员。一个测试的服务器,一个生产的服务器。开发人员需要为公司开发一个项目,开发人员首先分析产品经理的需求,建立相应的模型,然后进行如下步骤:

  1. 编写代码
  2. 项目打包部署到测试服务器
  3. 测试人员测试,将Bug提交给开发人员
  4. 如果测试通过则进行第5步。如果仍然有Bug,开发人员解决Bug,并重复第2步,第3步。
  5. 项目测试通过后,打包部署到生产环境

这样就完成了一次迭代。


但是随后,任务变多,开发人员增多,共同维护一套代码,采用Git进行版本管理,不同的开发人员将代码提交到同一个仓库。先建三个分支,默认分支master,和即将发布的分支release,和初始化分支initialize。master是主分支,是最新的代码。release分支就是即将要发布到生产环境的代码。开发人员在一个迭代周期的初期,拉取最新的master代码,并在此基础上进行开发。假如项目发布后出现了一个紧急的Bug,需要立刻修复,而这时新的迭代已经开始,此时项目负责人需要将release上的代码合并到initialize分支上,那么负责修改那个紧急Bug的开发人员就需要从initialize分支上拉取最新的代码,并在此基础上进行开发,Bug解决后,将initialize分支上的代码打包部署到测试服务器上,测试无误后,将initalize分支上的代码合并到release分支上,然后将release分支上的代码发布到生产环境。


随后,庞大而臃肿的单体项目已经不能满足需求了,后面一次大的版本迭代开始对项目开始采用的分布式。一个整体的系统,进行分解,分解成最小程度依赖关系的单元,各个单元之间通过轻量级的数据交换和调用,这样做可以降低系统耦合度,且方便扩展,也可以合理分配资源。然而被拆解后,系统的容错率就会降低,假如单元A被单元B C所依赖,一旦A发生故障,可能会影响B C,不过现在也有很多框架可以解决这样的问题,提高容错率。


然后是打包方面的问题,目前都是将项目打成可以执行的文件包,或者是可以在容器中运行的文件包。然后部署在服务器并运行项目。这样手动操作未免较为繁琐,可以采用Jenkins持续集成工具。Jenkins本身也是一个服务,打个比方来说,开发到发布的各个环节就像一个个独立的机器,开发人员需要将每次生产出来的产品放到下一个机器中继续加工,这样很繁琐。而Jenkins就像连接各个设备的传送带,只需要在Jenkins一键操作,就可以完成一些工作。Jenkins配置流程大致如下:

  1. 首先将Jenkins服务运行在一台服务器上,假设这台服务器叫做Assembly
  2. 在Jenkins上配置好项目所在仓库的地址,这样Jenkins就可以调用版本管理工具拉取代码到Assembly
  3. 有在Jenkins上配置好打包工具,这样Jenkins就可以调用打包工具将源码打包成可以执行的包(或是在容器内运行的包),假设这个包叫做Component
  4. 假设有一台生产用的服务器叫做Produce,在Assembly和Produce之间建立通信,Jenkins调用传输工具将Assembly上的Component传输到Produce
  5. 现在Component已经在Produce上了,Jenkins调用通信工具将一些命令告知Produce去启动Component的,这样Component就在Produce上运行起来了

之后,Jenkins的工作流程就是:拉取代码 打包项目 部署项目 运行项目。这样开发人员只需要将代码提交到仓库,测试环境和生产环境就能保持同步更新了。需要说明的上述只是一个抽象的总结,实际情况,很有可能Assembly和Produce是同一台服务器。 

来自:https://www.cnblogs.com/colin220/p/10176792.html


链接: https://www.fly63.com/article/detial/1702

前端开发,页面加载速度性能优化,如何提高web页面加载速度

通过技术的角度,来探讨如何提高网页加载速度的方法和技巧,一个网站速度的访问快慢将直接影响到用户体验,对于我们开发来说是应该解决的。

web开发,关于XSS的介绍和案例分析

XSS攻击的全称Cross Site Scripting(跨站脚本攻击),为了避免和样式表CSS混淆而简写为XSS。XSS恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

web页面弹出遮罩层,通过js或css禁止蒙层底部页面跟随滚动

通过js或css禁止蒙层底部页面跟随滚动:pc端推荐给body添加样式overflow: hidden;height: 100%;移动端利用移动端的touch事件,来阻止默认行为,若应用场景是全平台我们要阻止页面滚动,那么何不将其固定在视窗(即position: fixed),这样它就无法滚动了,当蒙层关闭时再释放。

关于渐进式 Web 应用,你应该知道的一切

渐进式 Web 应用是利用现代浏览器的特性,可以添加到主屏幕上,表现得像原生应用程序一样的 Web 应用程序。

Web前端知识体系精简

Web前端技术由 html、css 和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。

Web的26项基本概念和技术

Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行。今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术。

web浏览器基础知识【web前端】

Web浏览器的主要功能是展示网页资源,即请求服务器并将结果展示在窗口中。地址栏输入URL到页面显示经历的过程、浏览器的主要组件、浏览器渲染...

Web 前端中的增强现实(AR)开发技术

增强现实(以下简称 AR)浪潮正滚滚而来,Web 浏览器作为人们最唾手可得的人机交互终端,正在大力发展 AR 技术。AR 可以简单的理解为一种实时将虚拟图像叠加在现实场景中的技术

神奇的Workbox_让你的 Web 站点轻松做到离线可访问

先了解一下 workbox:不管你的站点是何种方式构建的,都可以为你的站点提供离线访问能力。就算你不考虑离线能力,也能让你的站点访问速度更加快。几乎不用考虑太多的具体实现,只用做一些配置...

原生js判断用户是否操作了web页面

用户是否操作了web页面,我们可以在一定时间内根据用户是否触发了某些事件进行判断。比如用户是否点击,是否按键,是否移动了鼠标等

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!