问题描述
在通过yaml文件构建和部署dacpac时,出现以下错误:使用搜索模式'D:\ a \ 1 \ s ***。sln'找不到解决方案。 我的yaml文件在下面。
trigger:
- master
pool:
name: Azure Pipelines
vmImage: 'vs2017-win2016'
jobs:
- deployment: BuildAndDeploy
displayName: Build And Deploy Dacpac
environment: 'DEV'
strategy:
runOnce:
deploy:
steps:
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
- task: copyFiles@2
displayName: 'copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(agent.builddirectory)'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: Azurekeyvault@1
displayName: 'Azure Key Vault: kv-agaurav-poc'
inputs:
azureSubscription: 'Visual Studio Enterprise-abonnement (b5970491-02a8-4fd0-b9b4-73a6e63a273a)'
keyvaultName: 'kv-agaurav-poc'
RunAsPreJob: true
- task: sqlAzureDacpacDeployment@1
displayName: 'Azure sql DacpacTask'
inputs:
azureSubscription: 'Visual Studio Enterprise-abonnement (b5970491-02a8-4fd0-b9b4-73a6e63a273a)'
ServerName: 'fastbin-server.database.windows.net'
DatabaseName: 'fastbin-db'
sqlUsername: agaurav
sqlPassword: '$(sqlpassword)'
DacpacFile: 'D:\a\1\a\s\bin\Debug\fastbin-db.dacpac'
要注意的一件事是,如果我在环境之外具有步骤和任务,那么它可以工作。
所以,我的问题是如何使yaml文件在任何环境标签(在这种情况下,环境为'DEV')内找到解决方案。
解决方法
deployment
作业默认不会签出您的代码。在尝试构建解决方案之前,您需要先添加- checkout: self
才能下载代码。