首页 > 其他分享 >产品发布标准(项目实操)

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

时间:2024-12-14 21:27:11浏览次数:6  
标签:脚本 编译 硬件 标准 发布 源码 实操 版本 目录

产品发布标准

  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. 插件升级

升级从操作界面进行。

标签:脚本,编译,硬件,标准,发布,源码,实操,版本,目录
From: https://blog.csdn.net/2301_77171572/article/details/144436534

相关文章

  • maven docker-maven-plugin 发布docker 20241214
    1、docker开启远程访问 端口 2375  docker主机:192.168.177.128vi/usr/lib/systemd/system/docker.service#修改ExecStart这行ExecStart=/usr/bin/dockerd-Htcp://0.0.0.0:2375 #重新加载配置文件[root@localhost~]#systemctldaemon-reload#重启服务[......
  • 发布你的第一个python包
    这里介绍如何将你写的python工具包,打包成whl,并发布到pypi.org网站,使用pip进行安装使用。大致步骤如下:注册测试testpypi.org网站,生成上传的token注册正式pypi.org网站,生成上传的token编写代码规划项目代码目录布局编写打包文件pyproject.tomlupload上传测试testpypiupload......
  • 2024数据库国测揭晓:安全与可靠的新标准
    2024年数据库国测的结果,于9月份的最后一天发布了。对于数据库行业的从业者来说,国测是我们绕不过去的坎儿。那么什么是国测?为什么要通过国测,以及国测的要求有哪些?国测自愿平等、客观公正什么是国测?国测自愿平等、客观公正什么是国测?国测是中国信息安全测评中心和国家保密科技......
  • 谷歌发布 Android XR 集成 Gemini 语音对话;Voice Agent 平台 Vapi 获 2000 万美元融资
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • Java Boot 使用中间件 Redis 标准化流程
    一、JavaBoot使用中间件Redis标准化流程注:写本文章的原因是项目中的redis使用不规范导致断开连接,重新连接也不行,稳定性不够配置1.在pom.xml添加<!--redis--><dependency><groupId>org.springframework.boot</groupId><artif......
  • 让文案生成更具灵活性!OpenAI发布会:ChatGPT新功能canvas画布编辑
    ​​OpenAI最近在2024年12月发布了canvas画布编辑功能,这是一项用途广泛的创新工具,专为需要高效创作文案的用户设计。无论是职场人士、学生还是创作者,这项功能都能帮助快速生成、优化和编辑文案,提升效率的同时提高内容质量。特别是对于职场人士,它可以显著简化日常工作中......
  • VMware ESXi 8.0U3c 发布 - 领先的裸机 Hypervisor
    VMwareESXi8.0U3c发布-领先的裸机Hypervisor同步发布Dell(戴尔)、HPE(慧与)、Lenovo(联想)、IEITSYSTEMS(浪潮信息)、Cisco(思科)、Fujitsu(富士通)、Hitachi(日立)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请访问原文链接:https://sysin.org/bl......
  • VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版
    VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS2.7标准版和厂商定制版ESXi8.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、IEITSYSTEMS(浪潮信息)、Cisco(思科)、Fujitsu(富士通)、Hitachi(日立)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请访问......
  • VMware ESXi 7.0 U3r 发布 - 领先的裸机 Hypervisor
    VMwareESXi7.0U3r发布-领先的裸机HypervisorVMwareESXi7.0Update3Standard&AllCustomImageforESXi7.0U3InstallCD请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareESXi:专门构建......
  • VMware ESXi 7.0U3r macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版
    VMwareESXi7.0U3rmacOSUnlocker&OEMBIOS2.7标准版和厂商定制版ESXi7.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Fujitsu(富士通)、Hitachi(日立)、NEC(日电)OEM定制版请访问原文链接:https://sysin.org/blog/vmware-esxi-......