从 GitHub Actions 中的 VS 数据库项目生成 *.dacpac 文件

· 1 分钟阅读

如果您需要使用数据库并且想要进行敏捷开发,则必须有一个流程,每当您添加或修改表、SP、函数时,它都会对其进行编译并生成数据库的部署文件。

我已经做这个方法很长时间了,我们在本地进行更改,与我们的数据库项目进行比较,然后当我们提交并推送更改时,它们会生成一个 bacpac 文件,该文件将进入数据库。

它消除了手工操作的所有麻烦,手工操作可能会导致人为错误,而在数据库中这确实是个坏消息。

数据库项目

当我们在 Visual Studio 上创建数据库项目并导入数据库时,它最终会像这样

当我们对该项目运行编译时,它将生成一个 dacpac 文件,其中包含我们的所有结构

Github 管道

现在我们已经在存储库上发布了代码,我们现在需要创建一个操作来编译该项目,生成此 dacpac 文件并将其放在我们可以下载或用于另一步骤的位置。

name: DacpacGithubActions project build

on:
  push:
    branches: main

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    
    - name: Setup MSBuild
      uses: microsoft/setup-msbuild@v1
      
    - name: Navigate to Workspace
      run: cd $GITHUB_WORKSPACE

    - name: Create Build Directory
      run: mkdir artifacts

    - name: Build Solution
      run: |
        msbuild.exe /t:DacpacGithubActions /p:DebugSymbols=false /p:DebugType=None /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:OutDir="../artifacts"
        
    - name: Upload artifact
      uses: actions/[email protected]
      with:
        name: DacpacGithubActionsArtifacts
        path: "../artifacts"           

此操作将执行一系列操作,构建解决方案并将结果放入预先创建的 artifacts 文件夹中,然后它将文件从该文件夹上传到工件。

运行管道

现在继续触发构建,结果应该如下

如果我们实际下载该工件并查看内容,这就是我们将来实现持续部署步骤时所需要的,dacpac 文件!

代码

整个项目都在 Github 上,您可以在此处找到它!

如果您有任何问题或疑问,请随时在任何社交媒体上与我联系:@emimontesdeoca(在 Twitter 中实际上是 @emimontesdeocaa,末尾有两个 aa)。您还可以在博客标题上找到我的大部分社交活动。

希望你喜欢这篇文章!呀!