coding
筱进GG的gravatar头像
筱进GG2019-09-07 20:29:40
传统项目开发部署的流程是怎样的?

前言

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

 

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

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

 

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

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

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

 

存在什么问题?

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

 

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

 

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

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

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

 

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

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

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

 

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

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

 

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

 

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

举个例子:

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

 

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

 

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

 

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

 

技术方案

因此,Docker出现了!


打赏

已有1人打赏

最代码官方的gravatar头像

分享到:

最近浏览
hhuangh LV37小时前
星星星星星星
心印语 LV9前天
月亮月亮星星
ZTY12345 LV2前天
星星星星
Knightjie LV89月16日
月亮月亮
xmjying LV129月16日
月亮月亮月亮
希望依然 LV59月16日
月亮星星
lvzhaohui LV79月16日
月亮星星星星星星
只要有你 LV69月15日
月亮星星星星
haizhao9月13日
暂无贡献等级
982917767 LV29月13日
星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友