【问题标题】:Jenkins configuration and security issuesJenkins 配置和安全问题
【发布时间】:2016-05-05 12:07:29
【问题描述】:

这是我第一次使用 Jenkins,浏览了几篇在线文章,但都没有找到满意的答案。我们有 .Net 项目,我们正在使用私有 GitHub 存储库。现在我正在尝试使用 Jenkins 构建 CI 服务器。想法是每当开发人员将代码推送到 GitHub 时,我们都希望在 CI 服务器上构建项目。 我已经在 CI 服务器上安装了 Jenkins (v 1.646) 和 GitHub、Git 和 MSBuild 插件。在与 Jenkins 合作了几个小时之后,我现在有几个问题。

1> 默认情况下,Jenkins 在端口 8080 上运行。但是要使持续集成正常工作,Jenkins 必须从 GitHub 接收通知。默认情况下,端口 8080 与外界隔绝,在 CI 服务器上,端口 80 是开放的。我更新了 Jenkins.xml 文件中的 httpport,因此 Jenkins 在端口 80 上运行。
我可以从公共互联网访问 Jenkins,并且网络挂钩 URL 现在是 http://ipaddress/github-webhook 但这会打开一个很大的安全漏洞,因为现在任何人都可以访问 Jenskins。为了解决这个问题,我配置了全局安全 -> 基于项目的矩阵授权策略。所以现在只有我可以登录和管理项目。但是任何人仍然可以输入 IP 地址,登陆 Jenkins 页面并创建新用户帐户。 Ofcource 该用户无法访问任何内容,但仍会在 Jenkins 的数据库中创建一个新用户 那么有没有办法像往常一样在端口 8080 上运行 Jenkins 管理,但在端口 80 上收到通知

2> 在 Jenkins 的系统配置页面上,我只看到“Git”和“GitHub 插件配置”。我没有看到“GitHub Web Hook”选项,也没有看到“让 Jenkins 自动管理挂钩 URL”在 1.646 版中有所更改

3> 由于我们使用的是私有存储库,因此我们的项目 URL 是 https://github.com/MyCompanyName/reponame,存储库 URL 是 https://github.com/MyCompanyName/reponame.git 请注意,该 url 包含公司名称而不是用户名。但我看到错误 Jenkins 日志

未能从 GitHubRepositoryName[host=github.com,username=MyCompanyName,repository=reponame] java.lang.NullPointerException:管理员没有凭据 访问管理挂钩 GitHubRepositoryName[host=github.com,username=MyCompanyName,repository=reponame] 在 com.google.common.base.Preconditions.checkNotNull(Preconditions.java:231)

为什么它试图使用公司名作为用户名?我已经设置了正确的用户凭据,它能够提取代码。

【问题讨论】:

    标签: git github jenkins github-api


    【解决方案1】:

    1) 转到配置全局安全性并取消选中“允许用户注册”以防止创建新帐户。

    2&3) 如果您没有管理员权限或不想从 Jenkins 管理挂钩,请转到配置系统/Github 插件配置部分并取消选中“管理挂钩”。

    【讨论】:

      【解决方案2】:

      我将为像我这样偶然发现但无法通过上述步骤修复的其他人添加第二个答案:

      1) 确保从您的任务 SCM 配置中删除尾随 .git

      2) 确保您在 Jenkins 中设置了 Github 可以访问的 IP/域,因为这将用于在您的存储库中创建挂钩。例如,如果您在 VM 中运行,这可能会默认设置为环回

      导致 Github 中的这个错误配置

      3) 使用 http://your-jenkins-address:port/restart 重新启动 Jenkins

      【讨论】:

        猜你喜欢
        • 2013-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-07
        • 2012-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多