2

我在运行 Windows Server 2008 的机器上安装了 Jenkins。使用 Jenkins 自己的用户数据库和基于矩阵的安全授权来保护 Jenkins 安装。匿名用户没有任何访问权限,除了注册一个帐户。我已经设置了一个帐户并授予该帐户完全访问权限。

现在我想从托管存储库的另一台机器远程触发构建。我相信这应该可以通过访问以下 URL 来实现:

https://[username]:[user_api_token]@[address.of.jenkins]:8080/job/[project]/build?token=[project_api_token]

但是,这似乎对我不起作用。当我在浏览器中访问该站点时,Jenkins 会转发到登录页面,并且不会开始构建。

我究竟做错了什么?这似乎是一个身份验证问题,因为我在打开上面的 URL 后没有登录。此外,如果我授予匿名用户完全访问权限,则 URL 有效。

4

1 回答 1

0

尝试从 curl 等命令行程序调用构建:

curl http://[userid]:[user_token]@localhost:8080/job/[project]/build?token=[proj_token]

或者

curl --user [userid]:[user_token] http://localhost:8080/job/[project]/build?token=[proj_token]

我认为您的问题可能与浏览器相关,在 URL 中嵌入凭据(在我的情况下,Firefox 会弹出一个警告,告诉我我即将登录 Jenkins)

于 2012-11-19T21:55:34.587 回答