Jenkins和Visual Studio Online集成身份验证

3

我现在正在尝试为基本的WCF服务设置持续集成/交付,该服务将托管在Microsoft Azure VM上。该项目通过Visual Studio Online进行版本控制。因此,我安装了Jenkins(也在Azure VM上),TFS插件等,并启动了第一个测试构建:

作为服务器URL,我使用了“[VSO地址]/DefaultCollection”,并且为了登录目的,我使用了我的Microsoft帐户(我可以使用它访问VSO)。问题是,当我运行构建时,在Jenkins中出现以下错误:

由开发人员开始 构建工作区:C:\Program Files (x86)\Jenkins\jobs\test\workspace [workspace] $ "C:\Program Files (x86)\TEE-CLC-11.0.0.1306\TEE-CLC-11.0.0\tf.cmd" workspaces -format:brief -server:[VSO地址]/DefaultCollection ****" 出现错误:拒绝访问连接到TFS服务器[VSO地址](作为har****@*******o.com进行身份验证) 致命:可执行文件返回意外的结果代码[100] 错误:null 已完成:失败

所以我的问题是,是否通常可以以这种方式连接Jenkins和VSO,如果可以,需要哪些登录凭据。

1个回答

4
您将无法使用Microsoft ID进行身份验证,因为Jenkins无法获取加密令牌。如果您前往VSO,可以打开个人资料(右上角)并配置备用凭据,您可以使用它们登录。此外,您还可以通过API获取服务帐户凭据。我创建了一个简单的工具来完成这项任务:http://nakedalm.com/tfs-service-credential-viewer/。它比较粗糙,但通常有效。

首先,感谢您的回复!我尝试了“替代凭证”选项,但它并不起作用。Jenkins要求输入“username@domain”。如果我填写[alternate username]@[VSO域名],则会出现以下错误:“联合身份验证到此服务器需要用户名和密码。”很遗憾,我不能访问您的应用程序来尝试第二种方法。 - JuHarm89
3
谢谢,现在它可以使用备用凭据了。问题是,我在VSO中配置了一个“辅助用户名”,然后尝试在Jenkins中使用它。我不知道为什么,但这没有起作用......之后,我删除了“辅助用户名”。现在我使用我的电子邮件地址(主要用户名)和我在备用凭据窗口中设置的密码。这似乎在Jenkins中有效。谢谢! - JuHarm89
@user3120361,你能解释一下你尝试了什么吗?我也遇到了同样的问题。 - Midhun Murali
@Midhun:对我来说,以下方法可用于在Jenkins中使用VSO的版本控制:在VSO中,转到右上角的个人资料。然后在左上角选择“安全”部分。您应该会看到一个名为“备用身份验证凭据”的选项。在那里,您可以设置备用密码(但不是辅助用户名)。现在,您应该能够在Jenkins中使用主用户名和备用密码。我不确定,但也许现在有更好的解决方案。 - JuHarm89

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接