LP1*_*P13 10 git github github-api jenkins
这是我第一次使用Jenkins而且我已经浏览了几篇在线文章但却找不到满意的答案.我们有.Net项目,我们正在使用私有GitHub存储库.现在我正在尝试使用Jenkins构建CI服务器.想法是每当开发人员将代码推送到GitHub时,我们想在CI服务器上构建项目.我已经在CI服务器上安装了Jenkins(v 1.646)和GitHub,Git和MSBuild插件.在与詹金斯合作了几个小时后,我现在有几个问题.
1>默认情况下,Jenkins在端口8080上运行.但是为了持续集成工作,Jenkins必须从GitHub接收通知.默认情况下,端口8080与外部世界隔离,在CI服务器端口80上打开.我在Jenkins.xml文件中更新了httpport,因此Jenkins在端口80上运行.
我可以从公共互联网访问Jenkins,而web hook 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请注意,网址的公司名称不是用户名.但我看到错误詹金斯登录
无法从GitHubRepositoryName中删除挂钩[host = github.com,username = MyCompanyName,repository = reponame] java.lang.NullPointerException:没有具有管理员权限的凭据来管理GitHubRepositoryName上的挂钩[host = github.com,username = MyCompanyName,在com.google.common.base.Preconditions.checkNotNull(Preconditions.java:231)上的repository = reponame]
为什么它试图使用companyname作为用户名?我已经设置了正确的用户凭据,并且能够提取代码.
1)转到配置全局安全性并取消选中"允许用户注册"以阻止创建新帐户.
2&3)如果您没有管理员权限或不想管理Jenkins的挂钩,请转到配置系统/ Github插件配置部分并取消选中"管理挂钩".