Ahm*_*edB 5 dacpac azure-devops
我正在尝试通过 IIS 网站和 SQL 部署在 Azure DevOps 中部署我的项目。然而,我正在努力部署 SQL 部分,因为我的构建工件中没有 .dacpac 文件。我如何生成它,因为我尝试过的任何选项都以过程失败告终。
PS 由于限制,我无法访问我正在部署的虚拟机。我可以访问我在机器上标记为 DBO 的数据库。
我的问题还在于,我是否需要每次都通过构建生成此 DACPAC 文件,或者它只能生成一次,存储在计算机上,然后我从部署过程指向该文件?
感谢您的帮助!
然而,我正在努力部署 SQL 部分,因为我的构建工件中没有 .dacpac 文件。我如何生成它,因为我尝试过的任何选项都以过程失败告终。我可以访问我在机器上标记为 DBO 的数据库。
首先,您必须使用 SSDT(或 Azure Data Studio 内部预览版)通过导入实时数据库的对象来创建 SQL Server 数据库项目。
然后数据库项目将被放入存储库中
管道(经典或 yaml)有一个构建任务 MSBuild@1。这是一个 YAML 示例。它生成 dacpac
- task: MSBuild@1
displayName: 'Build solution YourDatabase.sln'
inputs:
solution: 'src/YourDatabase.sln'
Run Code Online (Sandbox Code Playgroud)
此任务编译数据库项目并生成 dacpac 文件
- task: CopyFiles@2
displayName: 'Extract DACPACs'
inputs:
CleanTargetFolder: false
SourceFolder: '$(agent.builddirectory)\s\src\YourDatabase\bin\Debug\'
Contents: '*.dacpac'
TargetFolder: '$(build.artifactstagingdirectory)'
Run Code Online (Sandbox Code Playgroud)
- task: PublishPipelineArtifact@1
displayName: 'Publish Artifact'
inputs:
targetPath: '$(build.artifactstagingdirectory)'
artifact: 'drop'
Run Code Online (Sandbox Code Playgroud)
SqlDacpacDeploymentOnMachineGroup@0,但是,这超出了原始问题的范围我的问题还在于,我是否需要每次都通过构建生成此 DACPAC 文件,或者它只能生成一次,存储在计算机上,然后我从部署过程指向该文件?
这取决于。
经典管道有构建和发布阶段的分离。在这种情况下,您可以构建一次并在未来的许多版本中重复使用该 dacpac。
在多阶段 yaml 管道的情况下,每个管道运行都会触发构建和部署阶段,这是很常见的,因为它们仍然属于同一管道并作为单个单元工作运行。
| 归档时间: |
|
| 查看次数: |
5199 次 |
| 最近记录: |