" System.ComponentModel.Win32Exception:访问被拒绝"发布管理客户端中的错误

时间:2016-08-05 06:59:51

标签: tfs azure-devops tfs2013

过去几个月我一直在使用Release Management客户端。我试图配置"无代理"使用厨师部署。

我配置了以下文档中提到的所有属性。

可以找到参考herehere

创建发布模板后,我尝试将其部署在主厨上,但它会抛出异常

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ComponentModel.Win32Exception: Access is denied
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at Microsoft.TeamFoundation.Release.CommonConfiguration.Helpers.ProcessHelper.ExecuteProcess(ProcessStartInfo startInfo, String argumentsWithStarsForPassword, Int32 timeoutInMilliseconds, Boolean waitForExit)
   at Microsoft.TeamFoundation.Release.CommonConfiguration.Helpers.ProcessHelper.RunProcess(String fileName, String arguments, String workingDirectory, Boolean waitForExit)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.KnifeInvoker.Invoke(String arguments, String existingLogs)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefCommands.SetAttribute(ChefDeploymentInfo deploymentInfo)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefOnPremDeploymentActions.InvokePipeline(ChefDeploymentInfo deploymentInfo)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefOnPremDeploymentActions.TriggerDeployment(DscComponent dscComponentParameters, String nodeName, String isUnixNode, String userName, String password, String componentName, String attributeName, String knifeInstallationPath, String chefRepoPath)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.TeamFoundation.Release.DeploymentAgent.Services.Deployer.Dsc.DscComponentInstaller.InvokeMethodByReflection(String methodArguments)

任何人都可以帮助我找出我错过的和需要配置的内容吗?

我使用了基于Unix的凭据,我在服务器管理器下检查了一步 - >所有服务器 - >活动页面。错误在下面提到

Timestamp: 8/5/2016 1:36:46 PM
Message: Access is denied: \r\n\r\n   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at Microsoft.TeamFoundation.Release.CommonConfiguration.Helpers.ProcessHelper.ExecuteProcess(ProcessStartInfo startInfo, String argumentsWithStarsForPassword, Int32 timeoutInMilliseconds, Boolean waitForExit)
   at Microsoft.TeamFoundation.Release.CommonConfiguration.Helpers.ProcessHelper.RunProcess(String fileName, String arguments, String workingDirectory, Boolean waitForExit)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.KnifeInvoker.Invoke(String arguments, String existingLogs)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefCommands.SetAttribute(ChefDeploymentInfo deploymentInfo)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefOnPremDeploymentActions.InvokePipeline(ChefDeploymentInfo deploymentInfo)
   at Microsoft.TeamFoundation.Release.MonitorServices.Chef.OnPrem.ChefOnPremDeploymentActions.TriggerDeployment(DscComponent dscComponentParameters, String nodeName, String isUnixNode, String userName, String password, String componentName, String attributeName, String knifeInstallationPath, String chefRepoPath)
Category: General
Priority: -1
EventId: 0
Severity: Error
Title:
Machine: AMAZONA-U157LUU
Application Domain: ReleaseManagementMonitor.exe
Process Id: 1516
Process Name: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Release Management\bin\ReleaseManagementMonitor.exe
Win32 Thread Id: 4956
Thread Name: 
Extended Properties: 

2 个答案:

答案 0 :(得分:1)

错误消息表示“访问被拒绝”问题。您需要检查是否在“使用Chef部署”操作中填写了正确的配置变量,尤其是用户名/密码。

  

用户名/密码:连接到节点的凭据。这应该是   具有基于UNIX的系统的ssh权限的用户(sudo权限)   以及基于WINDOWS的winrm权限(或本地管理员)的用户   系统

答案 1 :(得分:0)

NodeName:要部署应用程序的Chef节点的名称。传递的参数应与RM Standard环境中链接的服务器名称匹配。

Note : Make sure your node name match with the same in node input field.

IsUnixNode:指定机器的类型。对于基于UNIX的计算机,此参数设置为true。 用户名/密码:连接到节点的凭据。这应该是具有基于UNIX的系统的ssh权限的用户(sudo权限)和具有基于WINDOWS的系统的winrm权限(或本地管理员)的用户 组件名称:要部署的组件的名称。

Note: Select your appropriate component in your project. 

属性名称: Chef节点属性的名称,如前所述,cookbook用于获取应用程序包。支持嵌套属性。此名称的格式为:['AttributeLevel1'] ['AttributeLevel2'] ...

Note: Verify you chef attribute name and attribute input field name. ex: ['test']

KnifeInstallationPath:发布管理服务器上knife.bat文件的绝对路径

Note:upto your knife.rb file location. ex:C:\opscode\chefdk\bin\knife.bat

ChefRepoPath: RM服务器上的Chef repo目录路径。

Note: upto knife.rb located folder. Ex :C:\Users\Administrator.TFS\.chef