在Puppet中,我使用EXEC资源来查看"来自TFS的文件通过调用TF.EXE。 TF VIEW命令允许我在不需要工作空间的情况下获取文件。
我正在使用Puppet 3.4.3和Puppet Enterprise 3.2.3。 代理程序正在Windows 2008R2 VM上运行。
当自动调度的木偶代理运行时,TF VIEW命令全部成功。 当我使用" Live Management"要执行" runonce",TF VIEW命令都会将错误记录到puppet和windows应用程序日志中,臭名昭着的TF30063错误。
认为这两种方法可能使用不同的身份验证,我在TF命令中对用户/密码进行了硬编码。这并没有解决问题。
我尝试了其他的事情:
这是TF.EXE命令的风格:
TF.exe view /collection:http://<MY_SERVER>.<MYCOMPANY>.com:8080/tfs/<MY_COLLECTION> /output:c:\phx_deployer\<MORE_PATH>\<MY_FILE>.zip $\ReleasePackages\<MORE_PATH>\<MY_FILE>.zip /login:<USER>,<PASSWORD> /version:L2.60.1.87
更新:
进一步测试表明,不同的行为可归因于哪个用户在代理机器上运行puppet进程。
我能够通过检查两件事来确定这一点:
为什么木偶 runonce 使用了错误的用户?现在这是一个真正的问题。
更新2
我了解到runonce由Marionette集体服务(pe-mcollective)执行,该服务在与普通木偶代理服务不同的帐户下运行。这是一个&#34;功能&#34;。我更改了运行此服务的帐户,所有工作都按预期工作。
答案 0 :(得分:0)
“runonce”在Marionette Collective Service(pe-mcollective)下的代理人身上执行。这是一个与执行预定目录的服务不同的服务。
要解决此问题,我更改了与该服务关联的用户帐户并退回了该服务。