Вы можете использовать задачу сборки артефакта publi sh для загрузки результатов сборки веб-приложения и vue проектов на сервер azure devops, как упоминалось @Krzysztof. И вы можете добавить новое задание для загрузки артефактов.
Пожалуйста, проверьте ниже простой пример в yaml.
Чтобы объединить результаты сборки, вы можете использовать извлечь файл задача , чтобы извлечь сжатые артефакты и опубликовать распакованные артефакты в задании Build_web . А в задании Объединить вы можете использовать Копировать файл задачи , чтобы скопировать результаты vue артефактов в папку веб-артефактов. И затем вы можете использовать задачу архивного файла , чтобы упаковать артефакты, которые теперь содержат результаты веб-приложения и vue приложения.
Объединить задание должно зависит от Build_web и Build_ vue заданий
jobs:
- job: Build_Web
pool:
vmImage: "windows-latest"
steps:
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '*.zip'
destinationFolder: '$(Build.ArtifactStagingDirectory)\unzip'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)\unzip'
artifactName: webapp
- job: Build_Vue
pool:
vmImage: "windows-latest"
steps:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'path to the build results'
artifactName: vueapp
- job: Combine
dependsOn:
- Build_Web
- Build_Vue
pool:
vmImage: "windows-latest"
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
artifactName: webapp
downloadPath: "$(System.ArtifactsDirectory)"
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
artifactName: vueapp
downloadPath: "$(System.ArtifactsDirectory)"
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.ArtifactsDirectory)\vueapp'
TargetFolder: 'path to web application result folder' #eg. $(System.ArtifactsDirectory)\webapp\Content\d_C\a\1\s\AboutSite\AboutSite\obj\Release\netcoreapp2.0\PubTmp\Out\
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: $(System.ArtifactsDirectory)\webapp
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/webapplication.zip'
Приведенный выше пример показывает только общую идею. Вы также можете переместить задачу ExtractFile в Объединить задание. В любом случае вам придется использовать задачу извлечения файла, копирования файла и файла архива.
Для параметра TargetFolder
в задаче копирования файла вы можете проверить журнал загрузочных артефактов сборки для артефакта веб-приложения, чтобы получить полный путь. Например, как показано на скриншоте ниже.
![enter image description here](https://i.stack.imgur.com/Ti4Cz.png)