快速发布软件包

更新时间:
2025-03-27

快速发布软件包

您可以将研发的软件制品发布到 Armory 仓库,实现统一与规范化的管理。在发布软件包时,您还可以根据需求设置软件包的标签和访问级别。本节将重点介绍如何快速将软件发布至 Armory 仓库。

操作须知

  • 仅首次发布软件包时可以指定其 访问级别。一旦发布后,如果需要切换访问级别,则需要前往 Web 端软件包详情页的设置界面进行调整,具体请参见 切换访问级别

  • 对于仓库中已存在的符合 SemVer 规范的版本,允许覆盖发布相同版本或语义等价的版本。SemVer 中的语义等价版本通常包括以下两种情况:

    • 包含构建版本号(+build-meta):如X.Y.Z+buildnum(例如1.2.3+20241209)。构建元数据仅作为附加信息,不参与版本号比较。
    • 版本号带有前缀(v):例如v1.2.3v仅作为版本号前缀,不影响 SemVer 核心部分的解析与比较,且不区分大小写。

    等价版本号示例:1.0.0等价于v1.0.0等价于V1.0.0等价于1.0.0+buildnum

前提条件

  • 本地已准备好待发布的软件包文件集。
  • 在局域网环境下,需要先获取翼辉软件工厂账号和密码信息,具体可联系系统管理员获取。有关系统管理员的详细信息,请在 Armory Web 端登录页面获取。
  • 在公网环境下,需要先注册翼辉 ID。若尚未注册,可在登录页下方单击点击注册,并按提示完成注册。
  • 覆盖发布版本需要同时具备撤销发布软件包版本的权限。具体来说,个人软件包仅限软件包的所有者更新版本;组织软件包,只有组织所有者和组织管理员可以进行更新。关于软件包权限的详细说明请参见 权限管理

操作步骤

步骤 1:下载客户端

在 Armory 首页,单击客户端版本右侧的,选择要下载的客户端版本,然后单击将其下载至本地。

步骤 2:安装客户端

  1. 解压已下载的 Armory 客户端安装包,双击应用程序进行安装。此处以 Armory-win-x64-1.3.0 版本安装包为例进行介绍。

  2. 在如下弹出框中单击下一步,并按照提示逐步完成客户端的安装。

  3. 安装完成后,在开始搜索框或任意文件夹地址栏输入“cmd”,打开终端。在终端输入armory -v,显示如下版本号信息,表示客户端安装成功。

步骤 3: 配置仓库地址

  1. 在终端执行如下命令,配置仓库地址。以下命令中的地址为当前环境的实际仓库地址,可直接复制使用。其中 default 为仓库别名,支持自定义。

    armory repo set default=http://host
  2. 配置完成后,直接执行如下命令,或执行armory repo use并通过键盘上下键交互式选择刚配置的仓库地址,使配置的仓库地址生效。

    armory repo use default
    

步骤 4:登录客户端

执行armory login按提示输入用户名密码,或直接执行armory login -u username -p password,登录 Armory 客户端。

步骤 5:创建软件包

  1. 在终端执行如下命令,自动创建一个符合 目录结构规范 的软件包文件夹。

    armory init <package-spec>
    

    其中 package-spec 为软件包 名称说明符,用于指定要创建的软件包名称和版本号,其格式为:[<@namespace/>]<package-name>[@<version>]。各参数说明如下:

    参数是否必选说明
    namespace软件包 命名空间,包括用户、组织和全局空间。命名空间只能由小写字母、数字和特殊字符“-”、“_”组成,不能包含空格,且长度不能超过 30 个字符。各类型软件包的 namespace 设置方法如下:
    • 若要创建个人软件包,请将 namespace 设置为个人用户名(username),若存在同名用户,系统会自动区分命名空间,具体请参见 Web 端个人信息页面个人头像下的“@xxx”信息
    • 若要创建组织软件包,请将 namespace 设置为组织名称(orgname)
    • 若要创建全局软件包,可以不设置 namespace,系统会默认发布为全局软件包(global)
    package-name软件包名,只能由小写字母、数字和特殊字符“-”、“_”组成,不能包含空格,且长度不能超过 50 个字符
    version软件包版本号,需遵循 版本号规范。如果不指定版本号,则创建的软件包的 armory.json 中的"version"字段值默认为“1.0.0”

    此处以创建“命名空间为组织名 cloudnative_lab、软件包名为 ecsm、版本号为 1.3.0”的软件包进行示例。

    armory init @cloudnative_lab/ecsm@1.3.0
    
  2. 进入命令行工作目录(如 D:\software\Armory),可以看到以 namespace 命名的文件夹,创建的软件包在此文件夹下。软件包目录结构如下图所示,可以参考 软件包规范 配置 armory.json 以及具体要发布的文件集,以快速发布软件包。

步骤 6:发布软件包

  1. 执行如下命令,发布软件包至 Armory。

    armory publish [./path/to/armory.json] [--tag <tag>] [--access <private | public>] [--force]
    

    参数说明如下:

    参数是否必选说明
    ./path/to/armory.json指定待发布的软件包配置文件 armory.json 的路径。
    如果在 armory.json 所在目录执行publish命令,则可以省略路径配置,直接使用armory publisharmory publish . 命令发布软件包
    --tag设置软件包标签,用于对软件包版本进行更精细的标记和分发。为避免标签与版本号冲突,建议不要在标签中使用以数字或字母“v”开头的命名。如果不设置,则默认为 latest
    --access设置软件包的访问级别,用于标识软件包是否对外可见,可选值为:私有(private)和内部公开(public)。如果不设置,则默认为内部公开;如果要设置为完全公开(open),则需要发布后联系系统管理员 切换访问级别,各级别详细介绍请参见 访问级别
    -f, --force设置是否强制覆盖发布已存在的版本或语义等价版本。如果需要发布仓库中已存在的软件包版本,需要指定此参数以强制发布。在强制覆盖发布过程中,请根据提示信息输入当前要发布的完整版本号以确认操作

    此处以发布当前命令行所在路径的“名称为 @cloudnative_lab/ecsm、标签为 release ,访问级别为 public”的软件包进行示例。

    armory publish @cloudnative_lab/ecsm/armory.json --tag release --access public
    
  2. 发布成功后,登录 Armory,在 Armory 主界面的顶部搜索框中搜索软件包名称、描述或关键字,可以查看刚发布的软件包。