我正在使用visualstudio.com Teams Services构建ASP.NET网站并将其部署到两个Azure VM。
我有一个构建,在完成时会触发deployment group中我的两个服务器的发布。为Visual Studio Team Services配置private static void updateICAT(DataSet s)
{
DataTable excelTable = s.Tables[7];
DataTable contacts = getXML();
Context _db = new Context();
Context db2 = new Context();
var updateICAT = _db.ICATs;
int counter = 1;
foreach(ICAT icat in updateICAT)
{
if(icat.ICATName != "--NOT AVAILABLE--")
{
DataRow r = contacts.Select("ICATName='" + excelTable.Rows[counter].ItemArray[2].ToString().Trim() + "'")[0];
if (icat.ICATName != excelTable.Rows[counter].ItemArray[0].ToString())
{
System.Diagnostics.Debug.WriteLine("not match");
System.Diagnostics.Debug.WriteLine("current Icat id " + icat.ICATID + " current counter " + counter);
var updateCurrentICAT = db2.ICATs.SingleOrDefault(p => p.ICATID == counter);
updateCurrentICAT.ICATName = excelTable.Rows[counter].ItemArray[0].ToString().Trim();
updateCurrentICAT.MEGroup = excelTable.Rows[counter].ItemArray[1].ToString().Trim();
updateCurrentICAT.EscalationDisplayName = excelTable.Rows[counter].ItemArray[2].ToString().Trim();
updateCurrentICAT.EscalationUserName = r["Username"].ToString().Trim();
updateCurrentICAT.EscalationMail = r["Mail"].ToString().Trim();
}
}
counter++;
}
}
时,您将创建一个默认运行为Deployment Group
的代理。
如果我publish my build artifacts to Azure(服务器选项)那么一切正常,部署成功到我的VMS。但是,当使用文件丢弃时,我收到以下错误:
工件目录不存在: \\ MACHINE1 \降\ RRStore \ 20170517.20。如果密码是,可能会发生 帐户NT AUTHORITY \ SYSTEM最近更改,未更新 代理商。
这基本上是由于权限NT AUTHORITY\SYSTEM
无法访问MACHINE2
。在Windows中我可以很好地调出这个文件夹,但由于代理程序以\\MACHINE1\drop
运行,因此无法访问它。
我想使用filedrop,因为我的网站大约有250MB(虽然与此同时我使用的是“发布到服务器'选项并通过团队服务部署。”
我不清楚如何在代理程序作为SYSTEM运行时为文件drop提供权限。我作为一个WORKGROUP运行,并授予“每个人”的权限。似乎不起作用。
配置对VSTS drop文件夹的访问权限以便部署代理可以访问它的正确方法是什么?
几种可能的选择:
答案 0 :(得分:1)
使用VSTS部署时遇到类似问题。相反,我选择:
这在大多数情况下都适用。事实上,我的VSTS,Jenkins和TFS实例使用了相同的方法。这可能会阻止您设置域来解决此问题。
这可能不是最好的做法,但至少应该让你开始朝着正确的方向前进。