首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Jenkins中设置“资源根URL”

问如何在Jenkins中设置“资源根URL”
EN

Stack Overflow用户
提问于 2020-11-10 06:41:44
回答 2查看 6.3K关注 0票数 7

我们正在设置Jenkins的一个新实例,并发现默认情况下"Resource“为空。我已经阅读过关于这个和(少数)堆栈溢出响应的Jenkins文档,但是我仍然不清楚如何填充这个字段。在我们的例子中,我们使用的是一个租用的服务器实例,它有一个专用的外部IP地址(一个虚线四位),但没有域名。顺便说一句,"Jenkins URL“似乎被正确地设置为我们的外部虚线四位地址。

  1. 正确格式化的“资源根URL”是什么样子的?
  2. 如何在没有域名的情况下设置“资源根URL”?
  3. 文档提到CSP ()应该是其中的一部分。它是什么,它是如何设置的?
  4. 总之,为Jenkins构建“资源根URL”的步骤是什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-12 15:40:32

据我所知,您需要两个不同的域,指向同一个Jenkins实例。这似乎是对内容安全策略的frame-ancestors指令的限制,参见詹金斯-41891的第六条评论。

简而言之,CSP ()是一种安全特性,它限制浏览器包含外部资源(如图像和CSS)或执行外部脚本。

在Jenkins的上下文中,CSP用于限制用户提供的内容(如已发布的Maven站点)不能与Jenkins交互。没有它,在Jenkins中没有管理权限但能够在Maven站点中包含脚本的开发人员(即对源存储库具有提交权限)可能会在管理员浏览包含此恶意脚本的已发布Maven站点时立即触发管理Jenkins任务。

问题是,您通常希望在Jenkins发布的用户生成的内容上有脚本。但是,由于安全风险,CSP仍然阻止他们。

所以你有这样的选择:

  • 在你发布的手工艺品中使用不工作的脚本。如果您不使用托管在Jenkins实例上的已发布的人工制品,那么您可能不需要资源URL,也不需要担心。
  • 放松CSP限制:这在Jenkins用户手册:配置内容安全策略中有描述,但是很麻烦,而且存在安全风险(=容易出错)。
  • 使用第二个域:这是资源根URL。从浏览器的角度来看,这两个URL之间没有任何关系,因此资源URL上的脚本不受信任,不会在“主”URL上与Jenkins混淆。

因此,如果要使用资源根URL,则需要两个域(或一个域和一个IP)才能工作。然后你就可以像这样设置你的詹金斯了:

在本例中,jenkins.example.org和jenkins-static.example.org都指向同一个IP。

请注意,以上所有这些都是由非安全和非Jenkins专家编写的,因此可能不会100%准确。但它应该能让我明白这个想法。

票数 13
EN

Stack Overflow用户

发布于 2022-05-25 12:00:11

我在这件事上花了太多时间。经过一段时间的挖掘,我发现我可以卷曲相同的端点,并且能够更快地进行测试。curl https://jenkins.example.com/git/notifyCommit?url=bitbucket.org/MyUsername/TheRepo&token=mytoken&branches=*/main不包括.git,分支可能会有所不同。我注意到我得到了多个I输出,您可能需要对您的分支进行特定处理。但是,如果你屈从于内心的欲望,你很可能会发现什么对你的设置有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64764038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档