在GitHub上显示TeamCity构建徽章

10

我想在我的GitHub页面上添加TeamCity构建徽章。我的存储库是一个私有的GitHub存储库。按照链接中的说明,我首先包含了以下代码。

<a href="http://teamcity/viewType.html?buildTypeId=myID&guest=1"> 
<img src="http://teamcity/app/rest/builds/buildType(id:myID)/statusIcon"/>
</a>

当时我遇到的问题是,图片被阻止了。我怀疑这是因为我的TeamCity服务器使用http,而我的Github仓库使用https。

在我的情况下,无法将TeamCity更改为使用https,因此这不是一个选项。

有什么变通方法/建议可以让我的构建徽章在Github上显示?

4个回答

13
请确保在常规设置页面上勾选“启用状态小部件”复选框:

enter image description here


7

对于任何想了解TeamCity构建徽章的Markdown链接语法的人,这里是:

[![Build Status](http://teamcity/app/rest/builds/buildType:(id:myID)/statusIcon)](http://teamcity/viewType.html?buildTypeId=myID&guest=1)

3
那个“myId”是指哪一个?是“构建配置ID”还是某种外部ID?此外,我假设需要访客用户登录权限? - JP Damstra
3
ID 是“构建配置 ID”。需要进行访客访问。 - Daniel Rose

2
对于展示的用户页面,GitHub 从服务器端检索图像并用缓存的图像替换原始图像。这就是为什么 TeamCity 实例应该可以外部访问,并且状态图标应该对任何用户都可用的原因:最简单的方法是像 Boris 建议的那样勾选“启用状态小部件”。
GitHub 也非常积极地缓存图像,因此显示的徽章可能已经过时。请使用至少 TeamCity 10.0.2,该版本添加了 HTTP 头来尝试防止缓存。

我已启用状态小部件按钮。此外,我已检查我在源代码中使用的URL是否可以从外部访问。我的TeamCity版本是9.1.5。这可能是问题吗? - Jhalaa Chinoy
另外一个奇怪的事情是,当我在浏览器中切换到移动视图时,github徽章会出现在自述文件中,而当我切换回正常浏览器模式时,它会再次消失。此外,在我的网络选项卡中,我观察到在正常浏览器模式下,该图像被阻止(blocked:mixed-content),而在移动模式下,它的状态为200(OK)。有什么线索可以解释这种情况发生的原因吗? - Jhalaa Chinoy
"blocked:mixed-content" 可能意味着图像是通过 http:// 包含的,而主页面是 https://。当 GitHub 渲染 README.md 时不会发生这种情况(因为 GitHub 会重写/缓存图像),因此您可能正在查看需要从 TeamCity 服务器使用 https:// 的原始 html。 - Yaegor

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接