VSTS有人设法在azure-pipelines.yml中使用“安全文件”吗?

时间:2018-11-20 21:35:34

标签: continuous-integration azure-devops task azure-pipelines

我想在开发性Azure任务中使用“下载安全文件”,它完全可以在“发布管道”(在“发布”中)的任务中按预期工作。但是,当我尝试在azure-pipelines.yml中的“构建”任务中执行相同操作时,我得到“找不到文件 some-uuid ”。

在官方文档中,如果在“内部版本”或“发布版本”中使用了自定义任务,我找不到任何区别-无论在何处使用它都仅指任务-

在azure-pipelines.yml(“构建”任务)中,是否可以做一些从库中访问我的安全文件的事情?

1 个答案:

答案 0 :(得分:0)

我在这里找到了答案: https://github.com/Microsoft/azure-pipelines-agent/issues/1809

Some 情况下,Azure会在幕后以及存在以下情况时扫描“ azure-pipeline.yml”找到对资源(例如“库/安全文件”或“服务连接”)的请求,然后由Azure静默设置适当的权限-这样执行构建脚本不会出错。

但是这种资源扫描将总是发生,例如提交时-仅当azure-pipeline.yml是新创建的或添加或更改了变量时。

因此,诸如azure-pipeline.yml的写入/提交之类的常规编辑将不会(重新)开始这种扫描-如果以后添加需要安全文件或服务连接的任务,则会遇到错误提示,找不到”或“权限不足”。

通过权限调整实施重新扫描的最简单方法是转到“变量”标签,例如将变量system.debug = false更改为true-或添加新变量foo = bar。

我无法在官方文档中找到任何这些提示或某些背景-或在与该问题有关的上下文中找不到-截至撰写本文时(2018年11月),尚不清楚是错误或功能-在任何情况下,如果Microsoft可以将错误消息中包含的链接https://aka.ms/yamlauthz后面的疑难解答说明扩展到此,将很有帮助。

似乎这种“扫描或不扫描”特定于“构建”脚本“ azure-pipeline.yml”-这就是为什么在“发行”脚本中未出现此类错误的原因。