3.1.1 • Published 8 months ago
demo-for-tag v3.1.1
项目描述
Armory Client
如何使用:
强烈建议: 使用前请先阅读《客户端使用指南》
v1.3.2 变更内容:
- 新增软件包相关(包名、版本、平台架构、包描述)规范及校验
- 增加审计日志(登陆、登出、发布、下载、关注、取关)
- 上传、下载进度条新增文件大小显示
- 上传增加文件大小(2gb)、blob数量(50)限制
- config命令调整:
- 简化子命令: list -> ls
- set key添加校验, 只能设置预置的配置
- 增加repo管理: repo <ls | set | use | rm>, use alias 支持交互式选取,当前版本兼容baseURL配置,且优先级大于repo,后续版本将移除该配置
- 发布、下载、搜索新增指定仓库: 通过 -r | --repo 参数选项指定目标仓库,等效与 -h -p, 两种选项只能二选一
- 客户端新增windows & linux & macos arm64版本
- 新增软件包发布权限:
- 第一次发布软件的账号默认为该软件包的所有者
- 只有所有者拥有软件包的发布权限
- 新增Armory 发布镜像包到ECMP仓库: publish --sync-to ecmp
- 新增客户端版本管理: armory version <update | rollback>命令, 用于客户端版本的升级与回滚
- 新增发布软件包目录结构初始化:armory init
- 新增软件包平台架构支持矩阵
- 统一发布与下载软件包目录结构
- 新增user mock, 启用后可直接跳过ecmp登陆,仅用于本地测试
- 服务端新增db migration, 更新readme及知识库文档
- 客户端新增日志文件(滚动日志 & 临时日志),优化terminal console 输出样式
- 客户端新增全局异常日志位置提示
- 客户端非交互式login支持:armory login -u username -p password
- 新增自适应当前平台、架构下载
- 使用 -s --suitable , 如:armory get armory-cli -s (首先精确匹配当前系统的平台跟架构, 如果匹配不到则尝试匹配当前平台下
no-arch
架构的软件包) - 与 指定平台(-P, --platform)、架构(-A, --arch) 冲突,只能二选一
- 使用 -s --suitable , 如:armory get armory-cli -s (首先精确匹配当前系统的平台跟架构, 如果匹配不到则尝试匹配当前平台下
- 新增ctrl+c主动退出terminal-kit交互式子进程
- 服务端新增多环境配置支持
- 新增发布(publish)时通过指定-t --token 来通过认证, 实现无需登陆一条指令直接发布,可用于流水线等自动场景
- 历史缺陷修复:
- 客户端命令行参数冲突问题修复,-P --platform, -p --port
- 修复了下载时大小为0的blob进度条始终为0%的bug
- 修复发布时交互式选择armory.json,发布成功后客户端进程阻塞问题:A5E3-I91
- 客户端发布增加armory.json文件名严格校验:A5E3-I93
- 同步下载问题修复,v1.3.1实际仍为异步下载,导致下载审计日志与下载成功与否无关(sync download not work fix) , 需调整为按动作记录日志、统计次数
- 修复get command option 单指定-A参数错乱问题
- 修复会话过期问题, 分离客户端web认证失效时间配置, 默认情况下: 客户端登陆永不过期, web端有效期为7天
- 修复我的软件包列表展示逻辑问题: A5E3-I80
- 修复下载文件未能正确释放问题
简介:
ARMORY 是一款支持 Windows、macOS、Linux 多平台客户端的软件包管理工具,它提供了用户认证、团队管理、软件包权限定制、发布、下载、检索等功能,可以帮助开发人员和用户更好地管理软件包,提升企业研发效率,并保障软件发布过程的规范化、可视化及可追溯。
产品功能:
- 包管理
支持通过客户端发布、下载软件包,并在服务端查看软件包统计信息、搜索指定软件包和查看软件包详情等功能,从而对软件包进行统一、规范化管理。- 版本管理
支持 Semantic Versioning 语义化版本控制,保证了软件包版本的规范性,且用户可以按需查看和下载不同版本的软件包。- 仓库配置
支持配置单个或多个常用仓库,以便快速发布、搜索或下载软件包,方便灵活。- 多样化搜索
支持在服务端根据软件包名称、描述和标签等信息精准搜索软件包;也可以在客户端通过命令搜索软件包,并指定分页和每页要展示的软件包个数。- 用户认证
可无缝对接 ECMP 企业管理平台,与 ECMP 拥有统一的用户认证策略,且支持客户端、服务端多端认证,保证了系统的连通性和安全性。- 组织管理
支持创建分组,为分组添加、邀请、删除成员,并根据成员角色为不同的分组配置不同的软件包管理权限,从而实现软件包权限的精细化管理。
产品优势:
- 多平台架构支持:提供 Windows(aarch64、x86_64)、Linux (aarch64、x86_64)、macOS(aarch64、x86_64)等平台和架构的客户端,可以满足各种开发环境的软件包管理需求。
- 多任务下载:客户端支持异步多任务下载软件包,且能够可视化地展示多任务下载进度和软件包大小,方便用户更高效、直观地进行操作和监控任务状态。
- 原生 UI 支持:提供可视化的软件包管理界面,软件包统计信息、软件包详情和历史版本等信息一目了然。
- 高度可定制:高度自由的可定制软件包结构,可满足各种类型的软件包发布要求。
- 支持 DevOps:可自由对接持续集成与持续交付系统,加快企业研发和迭代速度。
- 优化存储:发布与下载软件包时支持自动压缩与解压缩,可最大限度节省磁盘空间
- 支持常用ide插件,提升开发效率和体验
- 支持类似npm的使用方式,最大化减轻学习成本和使用负担
- 有详细的,中文友好的使用文档和案例,提供便捷的使用体验
工程说明(开发者)
初始化:
npm run init
仅打包:
npm run pkg
一键打包并发布:
首先安装:
npm i -g npm-run-all
然后执行发布脚本, 注意修改脚本中要发布服务端的url:通过-h -p 指定host和port
npm run publish
或
npm-run-all publish:*
指定打包平台及架构
配置package.json中pkg.targets
打包工具使用pkg,参考文档:npm pkg