• Azure DevOps 通用包管理(Universal Artifacts)



    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)

      image

      • 配置发布流水线(图2)

      image

      • 发布成功,在Artifacts中的结果
        image
    • Download 下载

      • 配置流水线
        image
        注意:
        • 下载版本:可以选择固定的版本,也可以使用通配符选择最新的版本,例如
          • *表示最新的版本,
          • 1.*表示主版本为1的最新版本,
          • 1.1.*表示1.1的最新补丁
      • 流水线运行结果
        image

    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 张洪君

    ------------------------------------------------------------

  • 相关阅读:
    Android studio 3+版本apk安装失败问题
    解决华为手机图片选择无效及产生的open failed: EACCES (Permission denied)错误
    Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)
    android尺子的自定义view——RulerView
    自定义shareSDK的验证码短信内容
    解决java.lang.IllegalStateException: The application’s PagerAdapter changed the adapter’s content
    解决Android 7.0 App内切换语言不生效的问题
    ClassNotFoundException和NoClassDefFoundError的解决办法
    viewpager+fragment滑动切换卡顿问题
    ios的并发队列控制库
  • 原文地址:https://www.cnblogs.com/danzhang/p/14493180.html
Copyright © 2020-2023  润新知