gpt4 book ai didi

azure - 自动发布数据工厂生成ARM模板

转载 作者:行者123 更新时间:2023-12-03 00:21:18 27 4
gpt4 key购买 nike

由于某种原因,NPM 包创建了一个“无效的”arm 模板。不是我所期望的。 ARM 模板没有管道数据集等。

这里可能出现什么问题?我的协作分支的根文件夹中有一个publish_config 文件和package.json 文件。构建管道位于共享分支中,并从主分支触发以发布到开发、测试和生产。

希望我能得到一些帮助。

包.json

{
"scripts":{
"build":"node node_modules/@microsoft/azure-data-factory-utilities/lib/index"
},
"dependencies":{
"@microsoft/azure-data-factory-utilities":"^0.1.3"
}
}

管道:

trigger:
#- master
feature/npmv2 branch

pool:
vmImage: 'ubuntu-latest'

steps:


- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'

- task: Npm@1
inputs:
command: 'install'
verbose: true
displayName: 'Install npm package'



- task: Npm@1
inputs:
command: 'custom'
customCommand: 'run build validate $(Build.Repository.LocalPath) /subscriptions/xxxxx/resourceGroups/xxxx/providers/Microsoft.DataFactory/factories/df-dev-0001'
displayName: 'Validate'

# Validate and then generate the ARM template into the destination folder. Same as clicking "Publish" from UX
# The ARM template generated is not published to the ‘Live’ version of the factory. Deployment should be done using a CI/CD pipeline.

- task: Npm@1
inputs:
command: 'custom'
customCommand: 'run build export $(Build.Repository.LocalPath) /subscriptions/xxxxx/resourceGroups/xxxx/providers/Microsoft.DataFactory/factories/df-dev-0001 "ArmTemplate"'
displayName: 'Validate and Generate ARM template'

# Publish the Artifact to be used as a source for a release pipeline

- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Build.Repository.LocalPath)/ArmTemplate'
artifact: 'ArmTemplates'
publishLocation: 'pipeline'

发布配置

{"publishBranch":"factory/adf_publish","includeFactoryTemplate":true}

运行run build export ...步骤的输出是:

enter image description here

失败的文件夹结构:

enter image description here

成功的文件夹结构:

enter image description here

亲切的问候,

迪基

最佳答案

日志表明您运行构建命令的文件夹中不存在所需的 ADF json 工件。

您的 npm build package.json 应与 ADF json 工件位于同一文件夹中,您可以将其放在子文件夹中(例如 build)

您运行构建管道的分支似乎没有最新的 ADF 代码,或者代码不在 yamp 脚本步骤引用的位置 ($(Build.Repository.LocalPath):您的案例中源代码的根目录)

检查您的分支策略,确保触发构建过程的功能分支或代码分支包含 ADF json 工件(代码)和 npm package.json。

查看我的文章,了解如何正确设置开发环境以使用 ADF 实用程序:http://www.mutazag.com/blog/code/tutorial/adf-utils-for-publishing/

要从构建子文件夹内使用 npm build 命令,您需要更改 yaml 文件中的导出和验证步骤以引用正确的工作目录,如下所示:

    - task: Npm@1
inputs:
command: 'custom'
workingDir: '$(Build.Repository.LocalPath)/build' #replace with the package.json folder
customCommand: 'run build export $(Build.Repository.LocalPath) "/subscriptions/xxxxxx/resourceGroups/xxxxx/providers/Microsoft.DataFactory/factories/df-dev-mutaz" "ArmTemplate"'
displayName: 'Export and Generate ARM template'

关于azure - 自动发布数据工厂生成ARM模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68432359/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com