欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

云计算和DevOps

程序员文章站 2022-04-30 09:25:34
...

云计算

概念、定义

云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态的易扩展且经常是虚拟化的资源。
美国国家标准与技术研究院对于云计算的定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件和服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

分类

  1. 公有云(AWS, 阿里云,Azure等)
    • 云服务提供商对基础设施维护
    • 多租户
    • Pay For Use
  2. 私有云(Vmware等)
    • 自己维护云基础设施
    • 单租户或狭义上的多租户
    • Pay For Cloud
  3. 混合云(Azure, Rackspace)
    • 云服务提供商维护自己的云设施
    • 用户范围内租户隔离
    • Pay For Use of Cloud

DevOps

概念

DevOps = Development + Operations

DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保证(QA)部门之间的沟通、协作与整合。它的出现时由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。其最大的特点就是极速的迭代和快速的用户反馈。

DevOps完整研发周期

云计算和DevOps

  1. 下载:https://www.docker.com/docker-mac
  2. 安装:下载文件为.dmg文件,打开,拖动到Application文件夹中即可

node web项目的DevOps实例

项目准备

  1. 在本地创建一个node项目,文件目录以及文件内容如下:

云计算和DevOps

  1. 使用 pm2 管理项目的启动,配置如下:

云计算和DevOps

  1. 启动项目:npm run start

打开浏览器,访问 http://localhost:3008,即可看到web页面。

将其部署到云计算服务器上(本blog使用的是美团云。。。)

  1. 上传代码到 github 上, 地址:https://github.com/wikidson/node-web-DevOps
  2. 登陆到云服务,部署项目

    • 通过 ssh 进入到云主机
    • 由于我们的项目是node项目,所以需要在云主机上安装node:

      1. 下载node镜像,这里直接使用的淘宝的node镜像,不需要编译

      wget -P /usr/local/ https://npm.taobao.org/mirrors/node/v8.9.4/node-v8.9.4-linux-x86.tar.gz

      1. 解压node镜像

      cd /usr/local && tar zxvf node-v8.9.4-linux-x86.tar.gz

      1. 配置环境变量
          vim /etc/profile 
          # 自文件末尾添加:export PATH="$PATH:/usr/local/node-v8.9.4-linux-x86/bin"
          source /etc/profile
    • 从github上获取代码,并启动项目

      1. 创建目录:mkdir -p ~/webapp && cd ~/webapp 2. clone 项目:git clone https://github.com/wikidson/node-web-DevOps
      2. 启动项目: cd node-web-DevOps && npm install && npm run start
      3. 访问web项目对应的云主机外网IP和端口号:

      云计算和DevOps

实现DevOps

  1. 创建部署服务器:

云计算和DevOps

  1. 部署脚本内容如下:

云计算和DevOps

  1. 添加脚本命令到 package.json 文件中

云计算和DevOps

  1. 将代码提交并push到github上

5.登陆云主机, 进行如下操作:

cd ~/webapp/node-web-DevOps
npm install
npm start:deploy
npm start

打开浏览器, 依次访问如下地址:

web页面:

云计算和DevOps

部署页面:

云计算和DevOps

  1. 配置 github 的webhook

云计算和DevOps

以上及实现了项目的DevOps

  1. 验证,修改项目代码

云计算和DevOps

等待30s左右(因为在云主机上需要重新执行 npm install )

打开浏览器,访问web页面,输出如下:

云计算和DevOps

相关标签: DevOps node-web