OtaPackageTool 是一个 OTA 打包工具,使用 git
获取不同提交之间的文件差异实现OTA包生成。
OtaPackageTool 工具默认提供了一个 linux-x86-64
的可执行文件,放于开源项目的 bin
目录下。该工具能够构建两种类型的包: 全量包和增量包。支持 tar
和 zip
两种文件类型的包文件。实现 OTA 包的构建,需要借助 git
实现版本文件的管理。
OtaPackageTool 工具默认提供了一个 linux-x86-64
的可执行文件,放于开源项目的 bin
目录下。只需要克隆下载下来,即可执行:
$ git clone https://github.com/yicm/OtaPackageTool.git
$ cd OtaPackageTool/bin
$ ./ota_packer -h
$ git clone https://github.com/yicm/OtaPackageTool.git
$ cd OtaPackageTool
$ go build -o bin ./...
编译完成后,生成的可执行文件已经输出到 bin
目录下。
$PATH
(这里就不展开如何添加了)$ cd your_installation_file_version_repository
# -----------------------------------------------
---
# 查看工具版本
$ ota_packer version
ota_packer version 0.0.1
# --------------------------------------------------
# 查看工具帮助
$ ota_packer -h
Archive of the diff files using git on Linux system.
Usage:
ota_packer [command]
Available Commands:
gen Generate package file
help Help about any command
version Get version of ota_packer
Flags:
-c, --config string Config file (default is $HOME/.ota_packer.yaml)
-h, --help help for ota_packer
-n, --project-name string Your project name (default "OTA")
Use "ota_packer [command] --help" for more information about a command.
# --------------------------------------------------
# 查看OTA包生成帮助
$ ota_packer gen -h
Generate a specific version package by entering different configuration parameters.
Usage:
ota_packer gen [flags]
Flags:
-F, --diff-filter string git diff --diff-filter and a similar designation (default "ACMRT")
-e, --end-commit-id string End revision (default "HEAD")
-f, --format string The format of the archive, supporting zip and tar (default "tar")
-h, --help help for gen
-o, --output string Output destination path of the archive
-p, --prefix string Prefixed to the filename in the archive while project name is not set. (default "ota_packer")
-s, --start-commit-id string Start revision (default "HEAD~1")
-v, --verbose Show packaging process statistics
Global Flags:
-c, --config string Config file (default is $HOME/.ota_packer.yaml)
-n, --project-name string Your project name (default "OTA")
如果设置 --start-commit-id
与 --end-commit-id
的值一致,则会生成当前 commit id 的全量包。如:
$ ota_packer gen -s HEAD -e HEAD
$ ota_packer gen -s HEAD~1 -e HEAD~1
$ ota_packer gen -s HEAD~3 -e HEAD~1
$ ota_packer gen -s 6bc76a1f -e 6bc76a1f
可以设置从某个提交版本升级/降级到指定版本,升级的化则需要 --start-commit-id
提交时间在 --end-commit-id
之前,否则的话就是生成的就是降级包。示例:
# 默认 --start-commit-id=HEAD~1, --end-commit-id=HEAD
$ ota_packer gen
$ ota_packer gen -s HEAD~2 -e HEAD~0
$ ota_packer gen -s 6bc76a1f -e 9d31d032
# Set output path as 'tmp' directory, and set project name as 'Test'
$ ./output/ota_packer gen -s HEAD~1 -e HEAD~0 -o tmp -n "Test"
-----------------------------------------------------------------
Project Name | Test
------------------+----------------------------------------------
Output Path | tmp/
------------------+----------------------------------------------
Output | Test-20200630145419-6bc76a1-to-9d31d03.tar
------------------+----------------------------------------------
Changelog | ota_info.json
------------------+----------------------------------------------
{
"project_name": "Test",
"last_ota_version": "6bc76a1",
"ota_version": "9d31d03",
"is_full_update": false,
"changes": [
{
"type": "D",
"old_path": "models/y.model",
"new_path": "models/y.model"
}
]
}
------------------+----------------------------------------------
A: 新增了该文件
C: 从一个文件复制到另一个文件
D: 删除了该文件
M: 修改了该文件
R: 重命名了该文件(可能路径有所变化)
T: 更改该文件的类型
主要内容:Java16 打包工具的示例Java 14 引入了一个新的打包工具,基于 javapackager 的 jpackage。javapackager 是在 Java 8 中引入的,是 JavaFX 套件的一部分。由于 JavaFX 从 11 版本的 Java 中分离出来,因此该打包工具在标准产品中不再可用。 这个新工具旨在为操作系统提供本机安装程序。例如,Windows 的 msi/exe,MacOS 的 pkg/dmg,Li
主要内容:Java14 打包工具的示例Java 14 引入了一个新的打包工具,基于 javapackager 的 jpackage。javapackager 是在 Java 8 中引入的,是 JavaFX 套件的一部分。由于 JavaFX 从 11 版本的 Java 中分离出来,因此该打包工具在标准产品中不再可用。 这个新工具旨在为操作系统提供本机安装程序。例如,Windows 的 msi/exe,MacOS 的 pkg/dmg,Li
虽然我们已经了解了网络传输 Git 数据的常用方法(如 HTTP,SSH 等),但还有另外一种不太常见却又十分有用的方式。 Git 可以将它的数据“打包”到一个文件中。 这在许多场景中都很有用。 有可能你的网络中断了,但你又希望将你的提交传给你的合作者们。 可能你不在办公网中并且出于安全考虑没有给你接入内网的权限。 可能你的无线、有线网卡坏掉了。 可能你现在没有共享服务器的权限,你又希望通过邮件将
又一款与PHP解压缩相匹配的打包(压缩)工具,其特点是可以在远程服务器上方便、快速的压缩文件,并且提供下载链接,方便下载,是网站备份的好工具。其他用途有待开发!(声明:此程序为开源程序,本人只是对其二次修改,不存在版权问题,可随意下载、转载) 使用方法: 下载到本地之后,上传PHPZip.php文件到你的服务器上,对其进行访问。 默认密码:xibo123 修改密码方法:在地址栏访问你服务器上PHP
作者:Tarek Ziadé,翻译:张吉 原文:http://www.aosabook.org/en/packaging.html 14.1 简介 对于如何安装软件,目前有两种思想流派。第一种是说软件应该自给自足,不依赖于其它任何部件,这点在Windows和Mac OS X系统中很流行。这种方式简化了软件的管理:每个软件都有自己独立的“领域”,安装和卸载它们不会对操作系统产生影响。如果软件依赖一项
提纲ceph-debugpack [ options ] filename.tar.gz 描述 ceph-debugpack 会打包各种用于崩溃调试的信息。当调试某问题时,可把此压缩包共享给 Ceph 开发者。 此压缩包会包含 ceph-mds 、 ceph-osd 、 ceph-mon 、 radosgw 的二进制文件,所有日志文件, ceph.conf 配置文件,能找到的核心转储文件,以及(若
虽然我们已经了解了网络传输 Git 数据的常用方法(如 HTTP,SSH 等),但还有另外一种不太常见却又十分有用的方式。 Git 可以将它的数据 “打包” 到一个文件中。 这在许多场景中都很有用。 有可能你的网络中断了,但你又希望将你的提交传给你的合作者们。 可能你不在办公网中并且出于安全考虑没有给你接入内网的权限。 可能你的无线、有线网卡坏掉了。 可能你现在没有共享服务器的权限,你又希望通过邮
配置 在开始写扩展之前,你需要在系统上配置如下几个工具: 下载并全局安装 Composer ,为扩展生成自动加载。 配置 Node.js 并全局安装 Gulp ,编译扩展的客户端 JavaScript。 除此之外,你也可以安装 Flarum 的 Vagrant 开发者镜像,它帮你自动装好了所有工具。 生成框架 Flarum 有便利的工具来为你生成扩展的框架,这样你就可以马上开始写代码了。打开终端并