首页 文章

Azure数据工厂使用PowerShell进行连续部署

提问于
浏览
0

我需要为Azure数据工厂(ADF)进行连续集成和部署 .

为此,在Visual Studio解决方案中,我有两个项目:

  • 一个用于ADF json文件(链接服务,数据集等) .

  • 一个用于PowerShell脚本,用于将此ADF部署到Azure订阅中 .

步骤紧随其后

获取ADF代码的MSBUILD并使用复制文件任务复制到 $(Build.ArtifactStagingDirectory) .

使用发布工件任务在VSTS中发布 .

将PowerShell脚本的工件发布为单独的构建 .

发布

在我的版本中,我有一个Azure PowerShell脚本,它将调用这些ADF文件并将其部署在Azure订阅中 . 我正在使用“Build.ArtifactStagingDirectory”来引用我的ADF文件 . 但我得到以下错误 -

术语“Build.ArtifactStagingDirectory”未被识别为cmdlet,函数,脚本文件或可操作程序的名称

foreach($file in Get-ChildItem "$(Build.ArtifactStagingDirectory)" -filter "*LinkedService*")
{
    New-AzureRmDataFactoryLinkedService -ResourceGroupName "ADFAutomationResource" -DataFactoryName "ADFCICD190218" -Name $file.BaseName -File $file.FullName -Force | Format-List
}

让我知道如何继续这种情况......因为没有足够的链接来解释这一点 .

2 回答

  • 0

    尝试:

    foreach($file in Get-ChildItem $Build.ArtifactStagingDirectory -filter "*LinkedService*")
    {
        New-AzureRmDataFactoryLinkedService -ResourceGroupName "ADFAutomationResource" -DataFactoryName "ADFCICD190218" -Name $file.BaseName -File $file.FullName -Force | Format-List
    }
    
  • 0

    您正在引用Release中的Build变量!

    我假设你已经在发布中添加了工件?

    Release artifacts

    如果是这样;你应该可以像这样引用它们:

    $(System.DefaultWorkingDirectory)/<Artifact Name>
    

相关问题