Как выпустить и опубликовать загружаемые файлы? - PullRequest
0 голосов
/ 06 января 2019

Как настроить DevOps Azure для публикации двоичных файлов в загружаемой веб-форме и автоматического обновления моей страницы readme.md или вики для отображения последних выпущенных артефактов?

Я знаю, как создавать конвейеры выпуска для артефактов, которые я публикую в Azure, например, Я могу публиковать веб-приложения и функции. Но я не могу понять, как публиковать и выпускать загружаемый контент.

Мне бы хотелось, чтобы результат был похож на релизы GitHub, где мои пользователи могут просматривать релизы, щелкать и скачивать файлы. Я бы хотел, чтобы страница проекта (readme.md или wiki) автоматически обновлялась данными релиза, аналогично тому, как я создавал ссылку на состояние сборки.

1 Ответ

0 голосов
/ 07 января 2019

Если вы хотите загрузить артефакты на ваш общий путь. Я рекомендую вам добавить задачу сценария для загрузки выпущенных артефактов на общий путь или 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. Вы можете скопировать ссылку на уценку в свой файл readme

enter image description here

Обновление:

Я делаю демонстрационную загрузку сборки в хранилище Azure со следующим файлом YAML.

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)

Дизайн пользовательского интерфейса:

enter image description here

я хотел бы, чтобы на странице была ссылка для загрузки, указывающая на последнюю пройденную сборку.

Мы могли бы использовать задачу копирования файлов AzureBlob для простого копирования сборки в хранилище BLOB-объектов Azure.

Если возможна функция Azure , вы можете использовать триггер BLOB-объекта для создания своей настраиваемой страницы со своим сценарием.

...