zoukankan      html  css  js  c++  java
  • 传统项目开发部署的流程是怎样的?

    题外话

    我个人的文档风格,不会一上来就讲什么专业名词、贴原理图、贴架构图、贴代码啥的。。。感觉这样会给人一种很大的入门门槛,会让很多人一开始就失去了学习的兴趣和信心(我不喜欢那样的“装逼”风格,虽然看似很牛B的样子,其实对于新手入门的朋友而言,是没有任何参考价值的)。

    考虑到一些对于某一技术不太懂、或者刚刚接触的朋友,所以尽量会写的通俗易懂。

    前言

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

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

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

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

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

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

    存在什么问题?

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

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

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

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

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

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

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

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

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

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

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

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

    举个例子:

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

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

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

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

    技术方案

    因此,Docker出现了!

  • 相关阅读:
    MYSQL中replace into的用法
    Typora自定义样式
    Advanced Installer轻松带你入门
    H2数据库入门,看这篇就对了
    Linux之vim的使用
    Linux文件上传与下载
    @ConfigurationProperties 注解使用姿势,这一篇就够了
    Javadoc 使用详解
    MySQL学习提升
    JS前端获取用户的ip地址的方法
  • 原文地址:https://www.cnblogs.com/zhaokejin/p/15605192.html
Copyright © 2011-2022 走看看