产品发布标准(项目实操)

产品发布标准

  1. 概述

本产品包含一套软件和几款不同的硬件。

说明

硬件

硬件差异

架构(ARM32/ARM64)

操作系统和版本(文件系统和系统库)

内存

存储(持久和易失)

串口和网口的名称和数量

启动脚本

此脚本在硬件上电后自动执行,在适当的初始化后进入预设目录启动软件的启动命令,并监控启动命令,返回0表示计划性退出,无需额外操作,否则表示软件运行异常,硬件应重新启动

软件

启动命令

start.sh,工作路径为命令所在位置

start.sh

按照软件需要配置系统然后启动软件系统并检测软件系统运行状态,在软件系统异常后返回非0值告知硬件(硬件启动脚本会触发硬件重启)

配置文件和数据库

固件和守护进程

启动时首先检测硬件型号并获取序列号(例如,在几个不同位置检索型号和序列号文件,期待其中一个位置能获取到),软件系统依据硬件型号使用不同的配置

协议驱动

       发布涉及到下列内容:

说明

发布

打包脚本

用来构建发布目录和发布包

发布目录

按照最终结构组织的软件系统

发布包

发布目录的打包

安装脚本

用来从发布包安装系统

  1. 源码组织、编译、打包
    1. 组织

源码分为如下几个部分:

依赖

说明

start.sh

一般总是兼容的

配置文件和数据库

原则上不升级,由程序动态处理

固件

协议

驱动

    1. 编译
      1. 三个不同架构版本

源码需要编译为三个不同的版本:

版本

用途

编译环境

X86-64

虚拟机开发和测试

虚拟机环境

ARM32

Libc版本: libc++版本: openssl版本:

ARM64

Libc版本: libc++版本: openssl版本:

       拉取源码后对每个版本分别使用编译脚本一次性全量编译,如果编译成功自动执行打包脚本。

      1. 编译脚本

编译脚本要求:

步骤

说明

1

删除并重建目录

确保全新构建

2

指定版本拉取源码

必须是明确的版本,不能是最新版

3

清理源码中多余的部分

如不同位置的相同头文件、为了方便而入库的编译输出,必须确保完整编译

4

编译

注意检查依赖的库,确保编译时使用的库的位置符合预期

5

检查结果

检查预期的文件是否生成、格式是否正确(x86-64/arm32/arm64)

       注意,必须是单一脚本实现。除了版本参数外不需要其他参数,不能依赖手工设置环境变量,必须全部在脚本内设置。

      1. 打包脚本

编译成功后进行打包,打包脚本要求:

步骤

说明

1

按照最终目录结构重建目录

确保全新构建

2

从编译输出中逐个复制文件

注意不同架构的文件可能是不一样的

3

生成最终发布包

压缩包或特定的某种格式的包

4

检查和报告结果

报告文件数、大小、格式

       注意,必须是单一脚本实现。

      1. 安装脚本

安装脚本从打包好的发布包解压包并对文件属性作必要的修改。

注意:非常不建议对硬件做超出软件目录本身的修改。非常不建议对系统做修改。意即,复制目录然后就能运行,删除目录就算还原。

  1. 部署和升级
    1. 出厂

出厂部署由厂家完成,厂家将软件包放置在硬件的指定位置,并在硬件的启动脚本最后执行软件包里的start.sh。

    1. 手工部署

复制发布目录到指定位置或更新部分文件,根据安装脚本修改文件属性。

    1. 插件升级

升级从操作界面进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初级代码游戏

知识究竟是有价还是无价

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值