2015-07-21 90 views
0

使用Rails Capistrano进行部署时,如果您从git部署,则会在部署中获得REVISION文件。这是部署对象的SHA。获取标签的Github URL SHA

我有一点链接到只有管理员代码: https://github.com/<company>/<project>/commit/<sha>

这样,开发者可以很容易地仔细检查当前部署的细节。它工作很有用。

我最近将部署系统从基于分支的部署更改为(带注释)的基于标签的部署。

现在,REVISION包含标签的SHA。

我想不出如何用这个SHA生成一个到GitHub的URL。

https://github.com/<company>/<project>/tree/<tag>工程,但https://github.com/<company>/<project>/tree/<tag-sha>没有。

尝试使用API​​解决此问题也失败。

因此给定一个标签SHA,我该如何为它生成GitHub URL?

+0

为什么不保存标记指向的提交散列而不是散列标记?我假设你正在做'sha256sum(“v0.1.0”)'?我想你可以运行一个cron作业,它不断地执行'git fetch --tags; git标签“并手动存储散列表的哈希表是指什么标签... – Plato

+0

以下是你在找什么:'https://github.com/ //commit/'? –

+0

@Plato我做了一个'git tag -a tagname'。在capistrano中,我将对象设置为通过'set:branch,tagname'进行部署。它部署我想要的东西。最终生成的REVISION文件有一个SHA,而不是一个标记名。如果我'git描述the_revision_sha'它吐出标签名称。所有这些都是为我完成的。如果github不能在git中使用SHA来做一些有用的事情,那么我就不得不想出其他的东西了。 (我确实问过github的支持,并且还在等待回复。) – z5h

回答