在MSDN站点最近的一篇文章中,Daniel Meixler探讨了一个针对物联网(Internet of Things,IoT)应用的完整DevOps生命周期,用到了微软的框架和组件。这个理念稍作改动就可以泛化应用到其他IoT平台上。

\\

一般来讲,DevOps在Web应用中最为流行,但它并不是与特定技术或特定类型的应用绑定的。这篇文章介绍了如何为冰箱控制应用创建端到端的DevOps生命周期,证明了这种理念。对于完整的自动化CI/CD链,人们会予以特别关注。一旦特定应用所面临的挑战已明确,那么这些挑战就可以使用所选择的技术栈来解决。有一些概念是通用的,能够以技术无关的形式进行重用。

\\

示例应用仿真了一个冰箱控制系统,运行在Raspberry PI上。针对这种IoT应用的开发管道(pipeline)会面临着各种挑战。这种管道需要涵盖每次check-in之后的自动构建、自动化UI测试、部署到各种环境(包括生产)并收集遥测数据。通常,UI测试是比较困难的,在设备上的自动化测试则会更加困难。在这种环境下,DevOps所面临的挑战还包括可审核性与设备兼容性,但是这些问题在本文中并没有解决。

\\

针对问题中所提及的冰箱应用,部署需要发布到测试设备(QA)和客户的设备(生产环境)上。后者并不容易实现,因为通常没有到这些设备的物理连接。在这种情况下,设备的数量会非常庞大,并且位于客户的专属环境中,跨越非常广大的地理区域。最后一个需求,也就是遥测,为IoT设备带来了另外一个挑战,因为这些操作通常没有太多的人工干预,用户没有办法反馈应用运行情况的信息。收集手动反馈并不是可行的方案。

\\

这里做出的技术选择会优化管道,而且没有太多的定制。IoT平台是Windows 10 IoT Core,应用是一个Windows Universal App(UWP)。编排平台是Visual Studio Team Services(VSTS)。VSTS有一些特性致力于简化DevOps流程。按照微软的技术栈,这里选择了Azure IoT Hub作为管理平台。它用来管理和配置IoT应用。Azure IoT Hub支持多种语言,这个应用用到了.NET和node.js。HockeyApp是微软在几年前收购的,它用来从设备上收集使用和错误分析数据。

\\

\\

图片来源于https://blogs.msdn.microsoft.com/dmx/2017/01/26/devops-for-iot-part-1/

\\

当这个管道执行时,会生成新的应用,发布流程会通知Azure IoT Hub。Hub的责任是确保新版本能够在所有已注册的IoT设备上下载并安装。对于在线的设备来说,这可能会立即运行,而对于离线的设备,则可能会有一个延迟模式。

\\

查看英文原文:Setting up a DevOps Pipeline for an IoT Application

为IoT应用搭建DevOps管道相关推荐

  1. 使用开源工具构建DevOps管道的初学者指南

    DevOps已成为修复缓慢,孤立或不正常运行的软件开发流程的默认答案.但是,当您不熟悉DevOps并且不确定从哪里开始时,这并不意味着什么.本文探讨了什么是DevOps管道,并提供了五步创建过程.虽然 ...

  2. 测试环境搭建流程_前端构建 DevOps 搭建 DevOps 基础平台(中)

    前言 搭建基础平台搭建上篇的时候的时候,已经介绍过了项目流程设计.数据库搭建.jwt 登录等模块. 此篇我们介绍分支管理设计及其他的基础模块. 后端模块 DevOps - Gitlab Api使用(已 ...

  3. devops 开源工具链_使用开源工具构建DevOps管道的初学者指南

    devops 开源工具链 DevOps已成为修复缓慢,孤立或其他功能不正常的软件开发流程的默认答案. 但是,当您不熟悉DevOps并且不确定从哪里开始时,这并不意味着什么. 本文探讨了什么是DevOp ...

  4. devops测试_使用DevOps管道自动执行用户验收测试

    devops测试 验收测试 (也称为用户验收测试(UAT))确定系统是否满足用户需求,业务要求和授权实体标准. 通过软件开发生命周期(SDLC)开发应用程序时,每当有新设计时,都会重复测试. 在许多公 ...

  5. 树莓派 + Windows IoT Core 搭建环境监控系统

    前言:Windows IoT 是微软为嵌入式开发板设计的一种物联网操作系统,运行Windows UWP(C# 开发),可以设计出丰富的交互界面,驱动GPIO,连接一些传感器做有意思的事,本文详细介绍如 ...

  6. 使用IoT Studio搭建气象监测屏

    1.概述 本实践案例中使用LoRa气象监测设备监测气象信息,上报温度.湿度.大气压.经度.纬度等数据,并使用IoT Studio平台搭建监控大屏,展示气象监测设备最新上报的数据和历史数据曲线图. 架构 ...

  7. IoT开发——WIFI模块ESP8266 RTOS SDK V3.0.0环境搭建

    目录 1. 环境概览 2. 安装Ubuntu操作系统 3.搭建编译环境 3.2 环境准备 3.3 环境配置 3.4 设置串口,进行编译 3.5 配置elipse编译器 (1)安装eclipse (2) ...

  8. 开放下载!《阿里巴巴 DevOps 实践手册》

    简介:覆盖 DevOps 演进史.核心理念与阿里巴巴 DevOps 最佳实践的全方位解析手册,揭开阿里巴巴高效研发的秘密! 最新下载>><阿里巴巴DevOps 实践指南>了解详 ...

  9. Centos+Gitlab+Jenkins 针对.NET项目持续集成环境搭建和自动化部署

    目录 一.前言 二.系统环境 三.Gitlab安装 3.1 安装依赖软件 3.2 开启postfix 3.3 安装Gitlab 3.4 设置服务器IP和端口 3.5 重置并启动GitLab 3.6 浏 ...

最新文章

  1. mysql触发器运算_在MySQL中使用触发器计算列值?
  2. S01E05 Android体系结构
  3. 多个切点 boot spring_全网独家Spring/Cloud/MVC/Boot,脑图+面试+进阶,就问你服不服?...
  4. jBPM3.12用户指南中文翻译----第二章 起步
  5. rxjs里withLatestFrom operators的用法
  6. C# .net 中 Timeout 的处理及遇到的问题
  7. 【pytorch】torch.range() 和 torch.arange() ==>以step为间隔输出从start到end的张量列表
  8. VS2010中的顺序图
  9. LaTex论文编写常用代码
  10. 深圳活用大数据提升气象服务
  11. alsa内核文档翻译之——overview.txt
  12. 网赚 CashFiesta 简介及操作攻略
  13. linuxwindows应急响应
  14. python2.7 BeautifulSoup 爬QQ空间说说-含源码-第一天
  15. 英语绕口令(转)[Blog synchronous]
  16. Failed to load API definition
  17. 初中计算机考试的题型,教师资格证考试中学信息技术科目题型及分值分布,快看!...
  18. kindle 电子书
  19. 代码记录丨小青蛙和汉诺塔
  20. 普通人如何做到“我命由我不由天”

热门文章

  1. 使用sp_cycle_errorlog 命令清除sqlserver数据库错误日志
  2. 分清函数指针和指针函数
  3. 论如何使用zabbix监控LNMP架构
  4. linux下查看CPU、内存、磁盘信息
  5. web.xml文件书写规则
  6. CENTOS 7.0 安装discuz ,搭 mysql +php+apache 环境
  7. Goods:查询某个用户的购物车条目以及添加购物车条目
  8. mysqldump实现数据备份及灾难恢复
  9. ftp,http YUM库
  10. rails3高端observer模式