【问题标题】:Publish package in Azure Devops Artifacts using Azure Pipelines使用 Azure Pipelines 在 Azure Devops Artifacts 中发布包
【发布时间】:2019-02-21 22:37:48
【问题描述】:

我正在使用来自 Github 存储库的 Azure Pipelines。

我能够使用 azure-pipelines.yml 构建一个 Dotnet Core 类库:

trigger:
- master

pool:
  vmImage: 'Ubuntu-16.04'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'build' 

在构建后向此脚本添加什么以将包发布到 Azure Devops Artifacts?

以及如何设置每个版本的发布?来自 GitHub 标签?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    Here 是提供一组很好的 yaml 示例的文档。

    您要关注的部分大约是pushing to an artifact feed

    steps:
    - task: NuGetCommand@2
      displayName: 'NuGet push'
      inputs:
        command: push
        publishVstsFeed: '<feedName>'
        allowPackageConflicts: true
    

    This 部分是关于对您的包进行版本控制的。

    variables:
      Major: '1'
      Minor: '0'
      Patch: '0'
    
    steps:
    - task: NuGetCommand@2
      inputs:
        command: pack
        versioningScheme: byPrereleaseNumber
        majorVersion: '$(Major)'
        minorVersion: '$(Minor)'
        patchVersion: '$(Patch)'
    

    我们已经完成了与此版本控制部分中描述的内容类似的操作,以允许开发人员增加主要和次要编号,并且补丁和内部版本号来自内部版本号 ex。 1.2.1902.127。这告诉我们,该软件包是 2019 年 2 月 12 日构建的第七次修订版本中功能 2 的 1.x 系列的成员。

    我们还希望我们的程序集可以这样进行版本控制,因此我们有几个 powershell 脚本可以编写具有适当属性值的 .csproj 文件。对于 .Net Framework 项目,我们使用 MSBuild -t:Pack 来利用这些属性进行包版本控制,对于 .Net Standard 和 Core,我们使用 dotnet pack 任务。

    注意:NuGet.exe 在 .Net Framework 的包引用语法中存在一个错误,其中未填充依赖关系树,因此我们使用 MSBuild 来打包这些项目

    【讨论】:

      猜你喜欢
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-06
      • 2022-11-23
      • 2019-03-26
      • 2019-11-08
      • 1970-01-01
      相关资源
      最近更新 更多