首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure SQL - DacPac部署

Azure SQL - DacPac部署
EN

Stack Overflow用户
提问于 2022-11-15 15:43:52
回答 1查看 41关注 0票数 0

我目前正在尝试测试我的DacPac糟糕的管道。但是,我总是收到错误消息:

##[error]No files were found to deploy with search pattern C:\agent\_work\5\a\sqlproj_artifacts_1\DWH\DWH\bin\Release\database.dacpacCheck out how to troubleshoot failures at

我找不到问题所在。这里的代码,知道为什么它不工作吗?以前做过而且工作得很完美..。

代码语言:javascript
复制
    steps:
      - task: VSBuild@1
        inputs:
          solution: '$(solution)'
          platform: '$(buildPlatform)'
          configuration: '$(buildConfiguration)'
      - task: PublishBuildArtifacts@1
        inputs:
          PathtoPublish: '$(Build.SourcesDirectory)'
          ArtifactName: 'sqlproj_artifacts_$(System.JobAttempt)'
          publishLocation: 'Container'
代码语言:javascript
复制
    steps:
    - task: DownloadBuildArtifacts@0
      inputs:
        buildType: 'current'
        downloadType: 'single'
        artifactName: 'sqlproj_artifacts_$(System.JobAttempt)'
        downloadPath: '$(System.ArtifactsDirectory)'
代码语言:javascript
复制
        deployType: 'DacpacTask'
        DeploymentAction: 'Publish'
        DacpacFile: '$(System.ArtifactsDirectory)/sqlproj_artifacts_$(System.JobAttempt)/DWH/DWH/bin/Release/$(azureSqlDBName).dacpac'

我使用的是AuthenticationType:'server'

这是项目所在的本地路径:source\repos\DataWarehouse\DWH\DWH

试着调整路径,但还是不起作用。

希望你能帮我,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-15 16:40:10

当您单击工件时,您可以在构建屏幕上检查正在寻找的工件的路径:

在这里,$(azureSqlDBName).dacpac文件名在我看来是可疑的,就好像dacpac是从一个sql项目生成的,那么该文件可能会有项目名,而不是azure名称。

此外,我还将尝试发布用于单独部署的单独构建构件,因此,我将不为整个源工件目录创建工件,而是将dacpac从源代码复制到暂存目录,然后发布dacpac工件:

代码语言:javascript
复制
- task: CopyFiles@2
  displayName: 'Copy DacPac Files'
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)'
    Contents: '**/*.dacpac'
    TargetFolder: '$(Build.ArtifactStagingDirectory)/db'
    CleanTargetFolder: true
    OverWrite: true
    flattenFolders: true

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)/db'
    ArtifactName: 'sqlproj_artifacts_$(System.JobAttempt)'
    publishLocation: 'Container'

然后,当您需要使用工件时,更容易找到您要查找的内容。请注意flattenFolders标志,当您处理工件中的单个包时,它会派上用场。

还有一件事是使用管道工件,而不是构建构件,因为您已经在使用yaml管道,可能还有多个阶段的yaml,您可以利用管道构件自动下载到默认的工作区文件夹。

希望能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74448429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档