我们正在设置Jenkins的一个新实例,并发现默认情况下"Resource“为空。我已经阅读过关于这个和(少数)堆栈溢出响应的Jenkins文档,但是我仍然不清楚如何填充这个字段。在我们的例子中,我们使用的是一个租用的服务器实例,它有一个专用的外部IP地址(一个虚线四位),但没有域名。顺便说一句,"Jenkins URL“似乎被正确地设置为我们的外部虚线四位地址。
谢谢!
发布于 2020-12-12 15:40:32
据我所知,您需要两个不同的域,指向同一个Jenkins实例。这似乎是对内容安全策略的frame-ancestors指令的限制,参见詹金斯-41891的第六条评论。
简而言之,CSP ()是一种安全特性,它限制浏览器包含外部资源(如图像和CSS)或执行外部脚本。
在Jenkins的上下文中,CSP用于限制用户提供的内容(如已发布的Maven站点)不能与Jenkins交互。没有它,在Jenkins中没有管理权限但能够在Maven站点中包含脚本的开发人员(即对源存储库具有提交权限)可能会在管理员浏览包含此恶意脚本的已发布Maven站点时立即触发管理Jenkins任务。
问题是,您通常希望在Jenkins发布的用户生成的内容上有脚本。但是,由于安全风险,CSP仍然阻止他们。
所以你有这样的选择:
因此,如果要使用资源根URL,则需要两个域(或一个域和一个IP)才能工作。然后你就可以像这样设置你的詹金斯了:
在本例中,jenkins.example.org和jenkins-static.example.org都指向同一个IP。
请注意,以上所有这些都是由非安全和非Jenkins专家编写的,因此可能不会100%准确。但它应该能让我明白这个想法。
发布于 2022-05-25 12:00:11
我在这件事上花了太多时间。经过一段时间的挖掘,我发现我可以卷曲相同的端点,并且能够更快地进行测试。curl https://jenkins.example.com/git/notifyCommit?url=bitbucket.org/MyUsername/TheRepo&token=mytoken&branches=*/main不包括.git,分支可能会有所不同。我注意到我得到了多个I输出,您可能需要对您的分支进行特定处理。但是,如果你屈从于内心的欲望,你很可能会发现什么对你的设置有效。
https://stackoverflow.com/questions/64764038
复制相似问题