构建最后提交的 SQL 脚本 VSTS

Build last commited SQL Script VSTS

我是 VSTS 的新手,我想知道如何始终只构建最新提交的 SQL 脚本。

示例: 我从我的存储库中提交了 example.sql,VSTS Build 只需要获取 "example.sql" 压缩并发布工件即可准备就绪发布。

我该怎么做?

VSTS 构建当前工作树的所有现有 files/scripts(回购的指定分支)。

如果您想将最新更改的文件压缩并发布为工件,您可以添加一个 PowerShell 任务(对于 linux 和 mac,可以使用Shell脚本任务代替)助手。检测changed/added的详细步骤如下:

1.使用 PowerShell 任务获取 changed/added 个文件并将文件从 $(Build.SourcesDirectory) 复制到另一个目录(例如 $(Build.ArtifactStagingDirectory)\files)。 Powershell脚本如下:

$files=$(git diff HEAD HEAD~ --name-only)
echo $files
$temp=$files -split ' '
$count=$temp.Length
echo "Total changed $count files"
New-Item -ItemType directory -Path $(Build.ArtifactStagingDirectory)\files
For ($i=0; $i -lt $temp.Length; $i++)
{
  $name=$temp[$i]
  echo "this is $name file"
  if (Test-Path "$(Build.SourcesDirectory)$name")
    {
      Copy-Item $(Build.SourcesDirectory)$name $(Build.ArtifactStagingDirectory)\files
    }
}

2。使用存档文件任务压缩更改的文件。 例如从 $(Build.ArtifactStagingDirectory)\files 目录到 $(Build.ArtifactStagingDirectory)\pack$(Build.BuildId).zip

3。使用 Publish Build Artifacts 任务从 $(Build.ArtifactStagingDirectory)\pack 目录发布压缩文件