如何发布和发布可下载的二进制文件?

时间:2019-01-06 05:44:19

标签: c# azure-devops

如何配置Azure DevOps以Web可下载形式发布二进制文件,并自动更新我的readme.md或Wiki页面以反映最新发布的工件?

我知道如何为发布到Azure的工件构建发布管道,例如我可以发布webapp和功能。 但是我不知道如何发布和发布可下载的内容。

我希望结果类似于GitHub版本,我的用户可以在其中浏览版本,然后单击并下载文件。 我希望使用发布数据自动更新项目页面(readme.md或Wiki),类似于我创建构建状态链接的方式。

1 个答案:

答案 0 :(得分:1)

如果要将工件上传到共享路径。我建议您可以添加脚本任务,以将发布的工件上传到共享路径或ftp服务器。

例如,如果可以使用azure存储,则可以使用以下脚本将构建工件发布到Azure存储中

$source = "build file"
$azureStorageKey = "xxxxx"
$storage_context = New-AzureStorageContext -StorageAccountName "yourstorageAccount" -StorageAccountKey "$azureStorageKey"
Set-AzureStorageBlobContent -Context $storage_context -Container "containerName" -File $source -Blob "drop.zip" -Force
  

我希望使用发布数据自动更新项目页面(readme.md或wiki),类似于我创建构建状态链接的方式。

是的,您可以使用Azure管道构建状态徽章来做到这一点。您可以将markdown链接复制到自述文件中

enter image description here

更新:

我进行了一个演示,将构建文件与以下YAML文件上传到Azure存储。

queue:

      name: Hosted VS2017
      demands: 
      - msbuild
      - visualstudio
      - azureps

    steps:
    - task: NuGetCommand@2
      displayName: 'NuGet restore'


    - task: VSBuild@1
      displayName: 'Build solution **\*.sln'


    - task: CopyFiles@2
      displayName: 'Copy Files'
      inputs:
        SourceFolder: '$(build.sourcesdirectory)'

        TargetFolder: '$(build.artifactstagingdirectory)'


    - task: PublishBuildArtifacts@1
      displayName: 'Publish Artifact: drop'


    - task: ArchiveFiles@2
      displayName: 'Archive $(Build.ArtifactStagingDirectory)'
      inputs:
        rootFolderOrFile: '$(Build.ArtifactStagingDirectory)'


    - task: AzureFileCopy@1
      displayName: 'AzureBlob File Copy'
      inputs:
        SourcePath: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'

        azureSubscription: xxxxx

        Destination: AzureBlob

        storage: $(storageAccountName)

        ContainerName: $(containerName)

UI设计:

enter image description here

  

我希望页面上有一个下载链接,该链接指向已通过的最新版本。

我们可以使用AzureBlob文件复制任务将构建轻松地复制到Azure blob存储。

如果可以使用Azure function,则可以使用Blob触发器与脚本一起创建自定义页面。