低调人的gravatar头像
低调人 2019-09-07 20:29:40
传统项目开发部署的流程是怎样的?

前言

学习docker技术之前呢,我们通过引入一个大家都经历过的开发场景,由此作为切入点,学习起来思路会很清晰明白。

 

传统项目开发部署的基本流程

这里只简单描述一下,项目发布的基本流程

 

  • 本地开发+测试,没有问题的话,编译打包发布到测试环境

  • 在测试环境中进行测试,测试完成后,发布到生产环境

  • 在生产环境中进行最后的测试,如果没有问题,那么一切就OK了

 

存在什么问题?

我想100%的人都亲身经历过这样的事情 —— 在自己本地测试都没有问题,发布到测试环境、生产环境后,就出现问题了!搞得自己非常苦恼!非常纠结!到底是哪里出了问题呢?明明代码什么的都一样啊~

 

好吧,这里我就不仔细分析具体的原因是什么了,因为可能会有N种原因。

 

这里就列举一个比较常见的原因,就是:

  • 本地开发环境与测试环境、生产环境上的软件环境配置,可能出现不一致的情况,导致有些时候相同的代码在不同的环境下运行会出现问题。

存在问题:不同机器上的软件环境不一致。(比较核心的问题)

 

再列举几个实际开发中遇到的情况:

  • 公司在阿里云买了一台新服务器,要想能正常发布项目等,前提是需要在服务器上重新安装一些软件环境(比如jdk、tomcat等),在安装软件环境的过程中,很大几率会出现配置错误的情况;一些比较复杂的环境配置步骤会很多,很多人都记不清具体的步骤和命令,还得上网搜索......

存在问题:软件环境的配置繁多、命令记不清楚。

 

  • 像jdk、tomcat等基础的环境搭建,都已经很熟练了,每次有新机器的时候,都要重新搭建,这样就造成了重复性工作、效率低下、配置繁琐麻烦、易出错等情况。

存在问题:重复性搭建软件环境、效率低下。

 

当然也会有其他的问题,这里就不多做说明了。

 

比较好的做法是什么样的?

举个例子:

比如你到了一家新公司工作,一般都会让你在电脑上安装开发环境(比如JDK等),这时候一个技术人员递给了你一个U盘,里面有很多安装文件以及资源,你直接插在自己电脑上,copy需要的软件安装就行了,无需重新下载软件。

 

上面的场景,比较好的一点是:不用在网上重新下载对应的软件,直接使用U盘里面已经有的软件进行安装就行了。而且,U盘中的软件可以进行版本更新以及提供给他人直接使用。多么方便。

 

所以,针对上面提到的开发过程中遇到的开发环境等问题,如果能做到只搭建一次环境,多次复用的话,就nice了!就不会出现环境不一致的问题,也不用重复搭建软件环境了。

 

有什么技术方案能解决这样的痛点吗?

 

技术方案

因此,Docker出现了!


打赏

已有2人打赏

已注销用户的gravatar头像 最代码官方的gravatar头像
最近浏览
水光浮藻  LV6 2022年8月2日
1139304880  LV8 2021年11月15日
LiXin1994  LV1 2020年12月9日
admin_hhh  LV3 2020年10月31日
756124136 2020年5月6日
暂无贡献等级
已注销用户  LV34 2020年4月1日
剑客闯天涯  LV3 2020年1月19日
君知否  LV17 2020年1月17日
zzgover  LV4 2019年12月24日
zhazhahui  LV1 2019年12月19日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友