快速发布制品

更新时间:
2024-12-31

快速发布制品

用户可以将软件开发过程中的重要资产发布至 Armory 仓库,实现统一与规范化的管理。在软件工厂,您可以通过 Jenkins 流水线配置直接发布构建产物至 Armory,也可以通过 Armory 客户端手动发布软件包至仓库。本节将重点介绍手动快速发布软件包至 Armory 仓库的方法。

前提条件

  • 已参考 搭建开发环境 完成 Armory 客户端的安装,且已 配置 Armory License
  • 已通过 自动化持续集成,得到了可以发布的软件包。
  • 已获取登录用户名和密码信息,具体可联系系统管理员获取。有关系统管理员的详细信息,请在 Armory Web 端登录页面获取。

操作步骤

步骤 1:配置仓库地址

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

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

    armory repo use default
    

步骤 2:登录客户端

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

步骤 3:创建软件包

  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”

    此处以创建“软件包名称为 ecs-image、组织名为 software_factory、版本号为 1.2.1”的软件包进行示例。

    armory init @software_factory/ecs-image@1.2.1
    
  2. 进入命令行工作目录(如 D:\software\Armory),可以看到以 namespace 命名的文件夹,创建的软件包在此文件夹下。软件包目录结构如下图所示,可以参考 软件包规范 定义 armory.json,并将准备好要发布的软件包文件集(如 thermal_server_arm64.tar)放入该目录下。

步骤 4:发布软件包

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

    armory publish package-name/armory.json --tag <tag> --access <private | public>
    

    参数说明如下:

    参数是否必选说明
    package-name/armory.json软件包配置文件 armory.json 的路径,发布软件包时需替换为该文件的实际路径。
    如果在 armory.json 所在目录执行publish命令,则可以省略路径配置,直接使用armory publisharmory publish . 命令发布软件包
    tag设置软件包标签,用于对软件包版本进行更精细的标记和分发。为避免标签与版本号冲突,建议不要在标签中使用以数字或字母“v"开头的命名。如果不设置,则默认为 latest
    access设置软件包的访问级别,用于标识软件包是否对外可见,可选值为:私有(private)和内部公开(public)。如果不设置,则默认为内部公开;如果要设置为完全公开(open),则需要发布后联系系统管理员 切换访问级别,各级别详细介绍请参见 访问级别

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

    armory publish @software_factory/ecs-image/armory.json --tag release --access public
    
  2. 发布成功后,登录软件工厂,在软件工厂门户页单击 ARMORY,或只 登录 Armory Web 端,在 Armory 主界面的顶部搜索框中搜索软件包名称、描述或关键字,可以查看刚发布的软件包。

文档内容是否对您有所帮助?
有帮助
没帮助