在Jenkins中运行PowerShell TFS脚本

时间:2016-06-02 21:18:45

标签: powershell jenkins tfs

我试图在Jenkins中运行此PowerShell脚本:

if ( (Get-PSSnapin -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PsSnapin Microsoft.TeamFoundation.PowerShell
}
Update-TFSWorkspace -Overwrite -Recurse -Item C:\myWorkSpaceFolder

Jenkins返回错误"无法确定工作区。" 我可以在Jenkins使用的服务器上运行上面的代码并且它可以工作。

知道如何解决这个问题吗? 如果重要,这就是Jenkins执行脚本的方式:

powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Windows\TEMP\hudson3811725198776907360.ps1'"

我正在运行Jenkins 2.6。我使用的是PowerShell插件的版本1.3(https://wiki.jenkins-ci.org/display/JENKINS/PowerShell+Plugin)。由于How to stop Jenkins from listing all TFS workspaces,我没有使用Jenkins TFS插件。

感谢。

1 个答案:

答案 0 :(得分:0)

我做了一个不正确的假设。我已将Jenkins TFS插件配置为使用正确的TFS凭据,但我没有使用TFS插件。我不得不更改Jenkins Windows服务以使用正确的TFS凭据 - 默认情况下它使用本地系统帐户。对于阅读此内容的其他人,您将希望该帐户在运行Jenkins的计算机上拥有最低权限。此解决方案使Jenkins运行得更快,因为我的TFS环境受How to stop Jenkins from listing all TFS workspaces中描述的错误的显着影响。