当 Jenkins 不允许匿名用户时,如何触发 Jenkins 中的构建,将 Git 推送到 SCM-manager?

How do I trigger a build in Jenkins, with Git push to SCM-manager, when Jenkins does not allow anonymous user?

我们工作中的构建服务器是 Windows 服务器 2012 r2。 我们在 localhost:8081 上将 Jenkins 作为 Windows 服务安装。 我们在 localhost:8082 上将 Scm-Manager 作为服务安装。 (https://www.scm-manager.org/) 我们使用 Git 作为我们的版本控制。

现在我们不希望匿名用户全面阅读(由于机密内容)。

在删除匿名访问之前,我们已将 Jenkins 项目配置为使用令牌 "build" 远程触发构建。 在 SCM-Manager 中,我们使用 Jenkins 插件发送令牌 "build" 并且只发送主分支。

这不再有效了。

我正在查看 Scm-manager 中名为 Webhooks 的插件。做一个httpPOST。这是解决方案吗?如果是这样,如何?我做错了什么。 其他解决方案?

您可以使用 scm-jenkins-plugin 的全局配置。全局配置方法使用来自 jenkins git-plugin 的推送通知。 SCM-Manager 将在每次成功推送后发送更改存储库的 url,jenkins 将构建此 scm url 并启用轮询的每个存储库。请查看此 wiki page 的 "Global configuration" 部分。此方法在启用和不启用身份验证的情况下都适用。

我让它工作了,但没有按照建议的那样工作。 我在 scm-manager 中配置了我的 local git 存储库: Jenkins-URL:例如http://localhost:8082/,Jenkins-项目名称:例如"testProj", 令牌例如"build",一个 Jenkins 用户名和 Jenkins 用户 API-token。 在我的 Jenkins 项目配置中:项目名称:"testProj", 已检查:远程触发构建,使用令牌 "build",需要凭据,带密码的用户名,以及具有所有存储库读取权限的用户 i scm-manager。