【发布时间】:2017-07-28 21:05:59
【问题描述】:
我正在使用 visualstudio.com Teams Services 构建一个 ASP.NET 网站并将其部署到两个 Azure VM。
我有一个构建,它在完成时会在deployment group 中触发我的两台服务器的发布。当您为 Visual Studio Team Services 配置 Deployment Group 时,您会创建一个默认以 NT AUTHORITY\SYSTEM 运行的代理。
如果我publish my build artifacts to Azure(服务器选项),那么一切正常,部署成功到我的两个 VMS。但是,当使用文件拖放时,我收到以下错误:
工件目录不存在: \\MACHINE1\drop\RRStore\20170517.20。如果密码为 帐户 NT AUTHORITY\SYSTEM 最近更改且未更新 为代理。
这基本上是说MACHINE2 由于权限而无法访问\\MACHINE1\drop。在 Windows 中,我可以很好地调出这个文件夹,但由于代理以 NT AUTHORITY\SYSTEM 运行,因此无法访问它。
我想使用 filedrop,因为我的网站大约 250MB(尽管同时我正在使用“发布到服务器”选项并通过团队服务进行部署。)
虽然代理以 SYSTEM 身份运行,但我不清楚如何授予文件删除权限。我以 WORKGROUP 的身份运行,并且授予“所有人”权限似乎不起作用。
配置对 VSTS 放置文件夹的访问权限以便部署代理可以访问它的正确方法是什么?
几个可能的选择:
- 设置域(我尝试这样做,但后来我需要一个新的网络接口,这听起来很笨拙)
- 继续使用 teamservices 部署工件(或减小网站大小!)
- 保存到存储帐户,但我不知道如何配置它。
- 以不同的用户帐户运行
【问题讨论】:
-
我无法重现此问题(向所有人授予读取权限),您发布定义的任务是什么?是否有在代理阶段运行?可以分享一下 OneDrive 上的详细发布日志吗?
标签: azure-devops azure-pipelines azure-pipelines-release-pipeline