发布软件包
您可以将软件包发布到 Armory 仓库,实现集中、规范的版本管理。发布时可按需设置访问级别、是否强制发布,并选择是否同步到 ECMP 镜像仓库。
操作须知
发布软件包后,系统将按以下流程判断是否可以正式发布:
对于仓库中已存在的符合 SemVer 规范的版本,允许覆盖发布相同版本或语义等价的版本。SemVer 中的语义等价版本通常包括以下两种情况:
- 包含构建版本号(+build-meta):如
X.Y.Z+buildnum(例如1.2.3+20241209)。构建元数据仅作为附加信息,不参与版本号比较。 - 版本号带有前缀(v):例如
v1.2.3。v仅作为版本号前缀,不影响 SemVer 核心部分的解析与比较,且不区分大小写。
等价版本号示例:
1.0.0等价于v1.0.0等价于V1.0.0等价于1.0.0+buildnum。- 包含构建版本号(+build-meta):如
前提条件
- 已 配置仓库地址,并已 登录客户端。
- 已 创建软件包,且已按照 软件包规范 完成了 armory.json 以及软件包文件配置。
- 覆盖发布需同时具备撤销和发布版本的权限,即拥有空间所有者或空间管理员角色。关于软件包权限的详细说明,请参见 权限管理。
操作步骤
在开始搜索框或任意文件夹地址栏输入“cmd”,打开终端。
在终端执行如下命令,发布软件包。
armory publish [./path/to/armory.json] --sync-to ECMP [--access <private | public>] [--force]参数说明如下:
参数 是否必选 说明 ./path/to/armory.json 否 指定待发布的软件包配置文件 armory.json 的路径。
推荐先cd到armory.json所在目录,再直接执行armory publish;若在其他目录下执行,则需显式指定文件路径--sync-to 否 设置软件包的同步目标,目前仅支持 ECMP。若需将软件包同步发布至 ECMP 镜像仓库,请指定--sync-to ECMP--access 否 设置软件包的访问级别,用于标识软件包是否对外可见,可选值为:私有(private)和受限(public)。未设置时,默认使用受限(public)。若需设置为公开(open),则需在发布后联系系统管理员进行 切换访问级别,各级别详细介绍请参见 访问级别 -f, --force 否 设置是否强制覆盖发布已存在的版本或语义等价版本。如果需要发布仓库中已存在的软件包版本,需要指定此参数以强制发布。在强制覆盖发布过程中,请根据提示信息输入当前要发布的完整版本号以确认操作 下面介绍如何使用
armory publish命令发布软件包,分别涵盖发布至 Armory 仓库以及同时发布至 Armory 和 ECMP 仓库两个场景。仅发布至 Armory 仓库
以下示例展示如何将软件包“@software_factory/armory-client”发布至 Armory 仓库,并指定访问级别为“public”:
armory publish @software_factory/armory-client/armory.json --access public # 回显如下内容,表示发布成功: Using json file: D:\software\Armory\@software_factory\armory-client\armory.json Using repository: http://10.12.**.**:3001(default) Checking armory.json configuration.. Publishing package: @software_factory/armory-client@1.6.0 Windows@x86-64 > armory-v1.6.0-win-x64.exe (20.27 MB) 100%[======================>] done Windows@arm64 > armory-v1.6.0-win-arm64.exe (32.65 MB) 100%[======================>] done Linux@x86-64 > armory-v1.6.0-linux-x64.tar.gz (23.11 MB) 100%[======================>] done Linux@arm64 > armory-v1.6.0-linux-arm64.tar.gz (22.93 MB) 100%[======================>] done macOS@x86-64 > armory-v1.6.0-macos-x64.tar.gz (23.63 MB) 100%[======================>] done macOS@arm64 > armory-v1.6.0-macos-arm64.tar.gz (22.12 MB) 100%[======================>] done Package publish completed!同时发布至 Armory 和 ECMP 仓库
以下示例展示如何将软件包“@software_factory/cloudnative-demo”同时发布至 Armory 和 ECMP 仓库,并指定访问级别为“public”:
armory publish @software_factory/cloudnative-demo/armory.json --sync-to ECMP --access public # 回显如下内容,表示发布成功: Using json file: D:\software\Armory\@software_factory\cloudnative-demo\armory.json Using repository: http://10.12.**.**:3001(default) Checking armory.json configuration.. Publishing package: @software_factory/cloudnative-demo@1.3.2 SylixOS@aarch64 > acc_server_1.0.0.tar (50 KB) 100%[======================>] done SylixOS@aarch64 > airpressure_server_1.0.0.tar (40 KB) 100%[======================>] done SylixOS@aarch64 > airspeed_server_1.0.0.tar (40 KB) 100%[======================>] done SylixOS@aarch64 > battery_server_1.0.0.tar (40 KB) 100%[======================>] done SylixOS@aarch64 > qt_client_sylixos_latest.tar (395.5 KB) 100%[======================>] done SylixOS@aarch64 > radar_server_1.0.0.tar (50 KB) 100%[======================>] done SylixOS@aarch64 > thermal_server_latest.tar (40 KB) 100%[======================>] done Package publish completed!
软件包发布成功后,可以在 Armory 仓库或 ECMP 仓库查看发布情况。
在 Armory 仓库查看软件包:软件包发布结果根据其所属空间设置的“软件包发布确认”策略分以下 2 种情况:
开启发布确认策略:发布版本将呈现“待发布”状态,需在界面执行 确认 / 取消发布版本 操作。

未开启发布确认策略:发布版本直接为正式发布状态,无需额外确认。

在 ECMP 仓库查看软件包:登录 ECMP,在左侧导航栏中单击镜像仓库,在镜像仓库界面,可以查看已发布软件包所包含的容器镜像资源。






京公网安备11010802043204号