Я пытаюсь настроить CI / CD без особой удачи. Моя цель - создать через VSTS
веб-проект .net и развернуть его в приложении AWS Beanstalk
.
Где я до сих пор?
Создан vsts-ci.yml
файл следующим образом:
# ASP.NET
# Build and test ASP.NET web applications.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/vsts/pipelines/apps/aspnet/build-aspnet-4
pool:
vmImage: 'VS2017-Win2016'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(Build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
И у меня есть определение сборки, как показано ниже:
С этим мой первый шаг build
выполняется правильно. Кстати, агентский пул Hosted VS2017
.
Затем я создал конвейер выпуска, как показано ниже:
И в качестве задач этапа 1 (часть, которая выполняется после шага артефакта), у меня есть следующее:
Я подключил сборку к коммиту основной ветки и подключил релиз к успешной сборке, эти триггеры работают правильно. Хотя это не удается. Проблема вызвана тем, что файлы артефактов не найдены, возможно, из-за неправильного ввода пути. Но я не знаю правильных версий.
После завершения сборки он утверждает, что создал файл .zip
, содержащий опубликованную версию:
Но после этого выпуск завершается ошибкой, только если нет такого файла. Я пробовал много путей в поле Web Deploy Archive
, но ни один из них не смог найти zip-файл.
Вы видите задачу PowerShell, я создал ее для проверки путей и того, что в них есть, и они в основном пусты.
Одна интересная вещь, которую я понял, это то, что build помещает файлы в D:\a\1\a
, но задачи релиза пытаются заглянуть в D:\a\r1\a
, когда в поле Web Deploy Archive
добавлено $(System.defaultWorkingDirectory)
и $(Build.artifactStagingDirectory)
.
.
Еще одна странность в том, что на стадии Download artifact
выпуска написано Linked artifact count: 0
. Который я ожидал бы быть чем-то еще.
Что я здесь не так делаю? Если бы кто-нибудь смог мне помочь, я был бы признателен.
Обновление: Я добавил "Опубликовать артефакт: падение"
Когда Path to publish
равно "$ (System.DefaultWorkingDirectory) /project-2-codes.zip"
Публикация артефактов сборки завершилась ошибкой: не найдено PathtoPublish: D: \ a \ r1 \ a \ project-2-codes.zip
Когда Path to publish
равно "$ (System.DefaultWorkingDirectory)"
Публикация артефактов сборки завершилась ошибкой: не найдено PathtoPublish: D: \ a \ r1 \ a \ $ (Build.ArtifactStagingDirectory)