我想通过 Azure DevOps 中的管道构建一个 Artifact,但我在下面看到一个警告和一个错误。
警告:
警告=== LocalFileClientService:无法读取文件:/home/vsts/work/1/s/template-parameters-definition.json,错误:{“stack”:“错误:ENOENT:没有这样的文件或目录,打开'/home/vsts/work/1/s/template-parameters-definition.json'","message":"ENOENT: 没有这样的文件或目录,打开 '/home/vsts/work/1/s/template-参数定义.json'","errno":-2,"code":"ENOENT","syscall":"open","path":"/home/vsts/work/1/s/template-parameters -definition.json"}
错误:
无法获取 ARM 参数:错误:需要输入:AzureResourceManagerConnection
就我而言,我只有一个资源组,在同一个存储库下,我有功能分支、开发分支和生产分支。 template-parameters-definition.json 文件位于workspace_publish 中。 (不知道为什么找不到)。
当我触发从开发分支到生产分支的拉取请求时,我想构建一个工件。
对于AzureResourceManagerConnection,我已在服务连接下检查它,我们已将其设置并命名为:
这是 yaml 文件的代码:
trigger:
- production
pool:
vmImage: ubuntu-latest
resources:
repositories:
- repository: repo-001
type: git
name: repo-001
ref: refs/heads/production
steps:
- checkout: repo-001
- task: Synapse workspace deployment@2
displayName: Validate Synapse workspace Artifacts
inputs:
operation: 'validateDeploy'
ArtifactsFolder: '$(System.DefaultWorkingDirectory)'
azureSubscription: 'devops-datalake-Development'
ResourceGroupName: 'rg-dev-001'
TargetWorkspaceName: 'workspace-dev-001'
DeleteArtifactsNotInTemplate: true
- publish: $(System.DefaultWorkingDirectory)/ExportedArtifacts
artifact: SynapseArtifact
我该如何调试它?
警告
警告=== LocalFileClientService:无法读取文件:/home/vsts/work/1/s/template-parameters-definition.json,错误:{“stack”:“错误:ENOENT:没有这样的文件或目录,打开'/home/vsts/work/1/s/template-parameters-definition.json'","message":"ENOENT: 没有这样的文件或目录,打开 '/home/vsts/work/1/s/template-参数定义.json'","errno":-2,"code":"ENOENT","syscall":"open","path":"/home/vsts/work/1/s/template-parameters -definition.json"}
只是警告而不是错误。
template-parameters-definition.json
用于覆盖默认参数模板,与TemplateParametersForWorkspace.json
分支中的workspace_publish
不同。此自定义参数模板必须准确命名为 template-parameters-definition.json
并放置在 Git 协作分支的根文件夹中。这不是必需的。请参阅具有自定义参数的 Azure Synapse Analytics CI/CD 的详细信息。
根据错误“无法获取ARM参数:错误:需要输入:AzureResourceManagerConnection”,问题似乎与服务连接有关。要验证这一点,您可以单击任务设置
Synapse workspace deployment@2
-> 从下拉列表“Synapse 工作区连接类型”中选择您的订阅 -> 单击授权创建新的 ARM 服务连接。将新 ARM SC 的服务原则分配为目标工作区的工作区管理员。然后再次运行管道并检查是否有相同的错误。