visual-studio - VSTS在线自动化构建找不到代理

标签 visual-studio azure azure-pipelines

对于在 vsts 上手动构建并在线部署到 azure 的情况,一切正常。 但是当我从我的存储库触发相同的构建时,我得到了这个:

“找不到具有以下功能的代理:msbuild、visualstudio、sqlpackage”

如果我进入“构建定义”->“常规”选项卡

enter image description here

最佳答案

托管 VS2017 代理中没有 SqlPackage 功能。我在这里提交用户声音:VSTS SQL Package deploy with Hosted VS2017 agent .

解决方法是您可以通过 PowerShell 将 sql 包部署到 azure。

param(
    [string]$publish_profile,
    [string]$path_to_snapshots,
    [string]$database
)
$psPath=$PSScriptRoot 
write-output $psPath
Add-Type -Path "$psPath\lib\Microsoft.SqlServer.Dac.dll"
$dacProfile = [Microsoft.SqlServer.Dac.DacProfile]::Load($publish_profile)
$dacService = new-object Microsoft.SqlServer.Dac.DacServices($dacProfile.TargetConnectionString)

$files = Get-ChildItem  "$path_to_snapshots\*.dacpac"
Write-Output $path_to_snapshots
Write-Output $files.Length
foreach ($file in $files) 
{
    $fileName = $file.Name 
    Try
    {
        Write-output $fileName
            $dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($file.FullName)
            $dacService.Deploy($dp, $database, $true) 
           Start-Sleep -s 300
    }
    Catch
    {
        Write-Host "$fileName deployment has been failed"  -foregroundcolor "red"
         $Error | format-list -force
        Write-Host $Error[0].Exception.ParentContainsErrorRecordException;
        Break
    }
}

相关主题:Deploy Dacpac packages via power shell script to Azure SQL Server

关于visual-studio - VSTS在线自动化构建找不到代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544833/

相关文章:

asp.net - 什么是 SkipExtraFilesOnServer?部署 azure 。 ASP.NET vNext

powershell - 调用 New-AzureStorageTable cmdlet 时 VSTS 发布 Azure Powershell 任务失败

c# - 如何使用 C# 从 Visual Studio 传递管道变量

.net - Azure Devops 管道和多项目 Docker

c# - 玩家在 Y 轴上不需要的旋转

visual-studio - $(OutDir) 的含义

visual-studio - 如何将附属程序集添加到 Visual Studio 中的项目

ios - WinObjC 的 AFNetworking

Azure App Insights 故障未在 Azure 门户中加载

powershell - ""您的构建管道引用了 undefined variable ": it' 只是一个 powershell 变量