Я работаю над простым конвейером yaml. Две работы. Первый компилируется, второй должен развернуться. Компиляция работает нормально, развертывание загружает zip компиляции, а затем не может получить доступ к файлу для развертывания.
- deployment: deploy
pool:
vmImage: windows-latest
dependsOn: Cake_CI
condition: variables.isMain
displayName: DeployMyJob
environment: Dev
strategy:
runOnce:
deploy:
steps:
- script: dir /s /b $(System.DefaultWorkingDirectory)\..
displayName: Directory Listing
- task: AzureRmWebAppDeployment@4
inputs:
WebAppName: 'mywebapp'
azureSubscription: 'mysubscription'
package: '$(System.DefaultWorkingDirectory)/EventExport/EventExport.zip'
deploymentMethod: 'runFromPackage'
appType: 'webApp'
По-видимому, загрузка происходит до задачи dir, описанной выше. Задача Download Artifact является неявной и показывает следующее
Download from the specified build: #381301
Download artifact to: D:\a\1/
Команда dir показывает следующий список, включая EventExport.zip, это подтверждает место загрузки.
D:\a\1\a
D:\a\1\b
D:\a\1\EventExport
D:\a\1\s
D:\a\1\TestResults
D:\a\1\EventExport\EventExport.zip
Развертывание завершается неудачно, потому что он ищет файл не в том месте.
##[error]Error: No package found with specified pattern: D:\a\1\s\EventExport\EventExport.zip
Где теперь разрыв между загрузкой и использованием пакета в рамках одного задания? Спасибо всем, кто заглянет в него.
Это потому, что $(System.DefaultWorkingDirectory)
находится внутри папки s
: D:\a\1\s
. а .zip
существуют в D:\a\1
.
Таким образом, вы можете сказать ему перейти на одну папку вверх:
$(System.DefaultWorkingDirectory)/../EventExport/EventExport.zip
У меня это работает как $(System.DefaultWorkingDirectory)/../EventExport/EventExport.zip Однако должен быть способ получше.
@Tauqir попробуйте эту переменную Agent.BuildDirectory
(вместо Build.ArtifactStagingDirectory
)
пробовал уже, не помогло.
Я спросил кого-то, и оказалось, что в этом случае задания развертывания могут загружаться в корневую папку конвейера «work/1». и настройка пути к пакету - это нормально. Так что ".." не так уж и плохо. Я продолжу и приму ваш ответ, если вы будете так любезны, чтобы немного его обновить. Спасибо за вашу помощь.
Конечно, я обновил ответ :) спасибо, что поделились!
второй агент теперь ищет в каталоге "a" вместо "s" - Ошибка "Пакет с указанным шаблоном не найден: D:\a\1\a\EventExport\EventExport.zip", Попытался указать только EventExport/EventExport.zip и он снова хочет получить к нему доступ под «s».