运行post deploy ps脚本或可执行文件

时间:2016-10-14 20:11:07

标签: sql-server-data-tools

我正在将使用自定义构建工具的旧版自定义数据库部署过程转换为完整的SSDT项目。到目前为止,一切都进展顺利。我有可以部署基础数据库的复合项目以及部署样本和测试数据的项目。

我现在遇到的问题是找到运行某种代码的解决方案,该代码可以调用Web服务来获取激活代码并将其作为流程的最后一步添加到数据库中。有人能指出我可以使用的钩子吗?

更新:为了更清楚,我这样做是为了更容易维护和部署我们的样本和测试数据到本地机器。我们可以轻松使用Jenkins在夜间部署到我们的官方测试环境时激活这些站点。我只是希望能够在一步中完成这项工作,以取代我们现在使用的本土数据库部署工具。

2 个答案:

答案 0 :(得分:2)

在我的部署方案中,我在一些执行必要先决条件的PowerShell脚本中包装了数据库部署过程。例如:

  • powershell脚本已启动,然后停止某些服务
  • 接下来它运行sqlpackage.exe或预生成的sql部署脚本
  • 终于PowerShell脚本启动服务。

您可以将一些参数从powershell传递到sql脚本或sqlpackage.exe作为sqlcmd变量。因此,您可以先调用webservice,然后将激活代码作为sqlcmd变量传递,并在postdeployment脚本中使用该变量。

答案 1 :(得分:1)

特别是如果它是最终步骤,我会想要使用您用于部署的任何工具单独执行此操作:Powershell脚本,msbuild,TFS,Jenkins等等。据推测,还有一些描述的前端以这种方式配置?

SSDT不是 eierlegende Wollmilchsau ,它是一套用于管理数据库更改的工具。

我怀疑最后一步是“提供Google App Engine实例并部署Python脚本”,例如,它似乎不是包含在SSDT后部署脚本中的自然候选者,我估计这属于同一类别。