1. 概述
Universal packages通用包功能是Azure DevOps Server 2020开始添加到产品中的,主要用于各种软件开发编译依赖包(例如NuGet, npm, Maven, 或Python等)之外的软件包管理,例如普通的压缩文件包zip、镜像文件iso、或一个文件夹中的所有文件等。
比起Maven,Npm和NuGet等,通用包管理是Azure DevOps中所有包中最简单的一种类型,不需要复杂的技术背景和配置;但是也是最为通用的一种软件包,适用于多种场景,也是这种包命名为通用包的原因。
我们可以使用Azure命令行工具或流水线从服务器下载或发布通用包,本文后面的内容主要介绍这几个功能。
2. 发布 publish 文件包
可以使用Azure DevOps工具或者流水线中的Universal任务下载或上传包
2.1 az artifacts 命令行工具发布和下载通用包
如果你还不熟悉Azure 命令行工具,请查询这篇文章(https://docs.microsoft.com/en-us/azure/devops/cli/?view=azure-devops&WT.mc_id=DT-MVP-5001330 )获取详细信息。
az artifacts universal publish --organization https://dev.azure.com/yourOrg/ --project="pub" --scope project --feed package1 --name my-first-package --version 0.0.1 --description "Welcome to Universal Packages" --path .
命令行示例:
az artifacts universal publish --organization https://dev.azure.com/yourOrg/ --project="pub" --scope project --feed package1 --name cloc --version 1.8.8 --description "Welcome to Universal Packages" --path .
流水线发布和下载通用包
Publish 发布
- 配置发布流水线(图1)
- 配置发布流水线(图2)
Download 下载
2.3 版本号命名
在通用版本包中,名称和版本号的组合是某个特定软件包的唯一名称,例如我们常说的“手机银行1.0.0”。其中,版本号遵守语义版本(Semantic Versioning)命名规范;语义版本命名规范的主要内容是:
- 使用三个数字节点来标记版本号,例如1.0.0,三个节点分别代表“主要版本.次要版本.补丁”;
- 第三个节点表示补丁,例如1.0.1版本表示1.0的第一个补丁版本;
- 第二个节点表示向后兼容的一个版本;当第二个节点升高时,第三个节点归零;例如1.1.0表示1.0.0版本基础上发布的一个新版本;
- 第一个节点表示主版本;当系统升级到不向后兼容的版本时,第一个节点数字升高,第二、第三个节点归零,例如2.0.0表示在1.0.0的基础上发布的大版本;
当我们使用流水线发布通用包时,可以选择升高哪个节点的数字,系统会根据用户的设置,自动升高通用包的版本号。
注意:虽然内网的Azure DevOps Server有了通用包相关的菜单,目前还没有在内网的服务器上成功验证过,这个功能目前是没有就绪的!!!
如果需要,你还可以从微软Azure DevOps Server 的在线文档,查询更多的权威资料
------------------------------------------------------------
http://www.cnblogs.com/danzhang/ DevOps MVP 张洪君
------------------------------------------------------------