【问题标题】:How to execute a cmd file in VSTS CD pipeline如何在 VSTS CD 管道中执行 cmd 文件
【发布时间】:2018-02-13 18:49:45
【问题描述】:

我创建了一个基本上顺序执行所有 sql 脚本的 cmd 文件。我在 VSTS 中使用 Windows 私有构建代理。如何执行这个 .cmd 文件?是否有任何其他任务可以针对 Azure SQL 数据库执行多个 sql 脚本?任何建议都会有所帮助。下面是cmd文件的内容:

@Echo 关闭 FOR /f %%i IN ('DIR *.Sql /B') 调用 :RunScript %%i 转到:结束

:运行脚本 Echo 执行脚本: %1 sqlcmd -S -U -P -d PFUTest -i %1 -o log.txt 回显完成的脚本:%1

:END

【问题讨论】:

    标签: azure azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task


    【解决方案1】:

    关于对 Azure SQL 数据库执行 sql 脚本,您可以使用Azure SQL Database Deployment 任务(在部署包部分的类型输入框中选择 SQL 脚本文件或内联 SQL 脚本。

    使用批处理脚本,可以调用Invoke-Sqlcmd命令运行SQL脚本。

    您可能需要在构建/发布期间添加防火墙规则,请参阅此线程:Allow VSTS to update test database

    【讨论】:

    • 谢谢..但它不允许我顺序执行多个脚本
    • 顺序执行多个脚本是什么意思?
    • 我们有名为'001_XXX'、'002_XXX'等的sql脚本,要求是按顺序执行sql脚本
    • 如何为每个脚本文件添加多个 Azure SQL 数据库部署任务?您也可以通过调用Invoke-Sqlcmd 命令自定义构建/发布任务。
    • 谢谢。我不想创建多个 azure sql 数据库部署任务。我能够让批处理脚本在 CD 管道中运行。它针对 Azure SQL 数据库执行 SQL 脚本
    【解决方案2】:

    使用批处理脚本任务。

    但是,通常您应该使用 SQL Server Data Tools 来管理您的数据库部署。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多